View | Details | Raw Unified | Return to bug 24815
Collapse All | Expand All

(-)a/t/db_dependent/Koha/Cash/Register.t (-6 / +53 lines)
Lines 55-66 subtest 'library' => sub { Link Here
55
};
55
};
56
56
57
subtest 'accountlines' => sub {
57
subtest 'accountlines' => sub {
58
    plan tests => 3;
58
    plan tests => 5;
59
59
60
    $schema->storage->txn_begin;
60
    $schema->storage->txn_begin;
61
61
62
    my $register =
62
    my $register =
63
      $builder->build_object( { class => 'Koha::Cash::Registers' } );
63
      $builder->build_object( { class => 'Koha::Cash::Registers' } );
64
65
    my $accountlines = $register->accountlines;
66
    is( ref($accountlines), 'Koha::Account::Lines',
67
'Koha::Cash::Register->accountlines should always return a Koha::Account::Lines set'
68
    );
69
    is( $accountlines->count, 0,
70
'Koha::Cash::Register->accountlines should always return the correct number of accountlines'
71
    );
72
64
    my $accountline1 = $builder->build_object(
73
    my $accountline1 = $builder->build_object(
65
        {
74
        {
66
            class => 'Koha::Account::Lines',
75
            class => 'Koha::Account::Lines',
Lines 74-80 subtest 'accountlines' => sub { Link Here
74
        }
83
        }
75
    );
84
    );
76
85
77
    my $accountlines = $register->accountlines;
86
    $accountlines = $register->accountlines;
78
    is( ref($accountlines), 'Koha::Account::Lines',
87
    is( ref($accountlines), 'Koha::Account::Lines',
79
'Koha::Cash::Register->accountlines should return a set of Koha::Account::Lines'
88
'Koha::Cash::Register->accountlines should return a set of Koha::Account::Lines'
80
    );
89
    );
Lines 146-152 subtest 'branch_default' => sub { Link Here
146
};
155
};
147
156
148
subtest 'cashup' => sub {
157
subtest 'cashup' => sub {
149
    plan tests => 3;
158
    plan tests => 4;
150
159
151
    $schema->storage->txn_begin;
160
    $schema->storage->txn_begin;
152
161
Lines 200-208 subtest 'cashup' => sub { Link Here
200
        is( $last_cashup, undef, 'undef is returned when no cashup exists' );
209
        is( $last_cashup, undef, 'undef is returned when no cashup exists' );
201
    };
210
    };
202
211
203
    subtest 'outstanding_accountlines' => sub {
212
    subtest 'cashups' => sub {
204
        plan tests => 4;
213
        plan tests => 4;
205
214
215
        my $cashups = $register->cashups;
216
        is( ref($cashups), 'Koha::Cash::Register::Actions',
217
'Koha::Cash::Register->cashups should always return a Koha::Cash::Register::Actions set'
218
        );
219
        is( $cashups->count, 0,
220
'Koha::Cash::Register->cashups should always return the correct number of cashups'
221
        );
222
223
        my $cashup3 =
224
          $register->add_cashup(
225
            { manager_id => $patron->id, amount => '6.00' } );
226
227
        $cashups = $register->cashups;
228
        is( ref($cashups), 'Koha::Cash::Register::Actions',
229
'Koha::Cash::Register->cashups should return a Koha::Cash::Register::Actions set'
230
        );
231
        is( $cashups->count, 1,
232
'Koha::Cash::Register->cashups should return the correct number of cashups'
233
        );
234
235
        $cashup3->delete;
236
    };
237
238
    subtest 'outstanding_accountlines' => sub {
239
        plan tests => 6;
240
241
        my $accountlines = $register->outstanding_accountlines;
242
        is( ref($accountlines), 'Koha::Account::Lines',
243
'Koha::Cash::Register->outstanding_accountlines should always return a Koha::Account::Lines set'
244
        );
245
        is( $accountlines->count, 0,
246
'Koha::Cash::Register->outstanding_accountlines should always return the correct number of accountlines'
247
        );
248
249
        # add_cashup should not happen simultaneously with any other action
250
        # that results in an accountline attached to the same cash register.
251
        # In testing, we need to sleep for a second after each action that
252
        # adds to the database. (We cannot use Time::Fake as timestamps are
253
        # being added at the DB level, not in perl.
206
        my $accountline1 = $builder->build_object(
254
        my $accountline1 = $builder->build_object(
207
            {
255
            {
208
                class => 'Koha::Account::Lines',
256
                class => 'Koha::Account::Lines',
Lines 216-222 subtest 'cashup' => sub { Link Here
216
            }
264
            }
217
        );
265
        );
218
266
219
        my $accountlines = $register->outstanding_accountlines;
267
        $accountlines = $register->outstanding_accountlines;
220
        is( $accountlines->count, 2, 'No cashup, all accountlines returned' );
268
        is( $accountlines->count, 2, 'No cashup, all accountlines returned' );
221
269
222
        my $cashup3 =
270
        my $cashup3 =
223
- 

Return to bug 24815