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

(-)a/t/db_dependent/api/v1/patrons_accounts.t (-3 / +93 lines)
Lines 18-24 Link Here
18
use Modern::Perl;
18
use Modern::Perl;
19
19
20
use Test::NoWarnings;
20
use Test::NoWarnings;
21
use Test::More tests => 6;
21
use Test::More tests => 8;
22
22
23
use Test::Mojo;
23
use Test::Mojo;
24
24
Lines 30-36 use Koha::Account::Lines; Link Here
30
my $schema  = Koha::Database->new->schema;
30
my $schema  = Koha::Database->new->schema;
31
my $builder = t::lib::TestBuilder->new;
31
my $builder = t::lib::TestBuilder->new;
32
32
33
t::lib::Mocks::mock_preference( 'RESTBasicAuth', 1 );
33
t::lib::Mocks::mock_preference( 'RESTBasicAuth',        1 );
34
t::lib::Mocks::mock_preference( 'NotifyPasswordChange', 1 );
34
35
35
my $t = Test::Mojo->new('Koha::REST::V1');
36
my $t = Test::Mojo->new('Koha::REST::V1');
36
37
Lines 300-305 subtest 'add_credit() tests' => sub { Link Here
300
    $schema->storage->txn_rollback;
301
    $schema->storage->txn_rollback;
301
};
302
};
302
303
304
subtest 'get_credit() tests' => sub {
305
306
    plan tests => 12;
307
308
    $schema->storage->txn_begin;
309
310
    my $patron = $builder->build_object(
311
        {
312
            class => 'Koha::Patrons',
313
            value => { flags => 1 }
314
        }
315
    );
316
    my $userid   = $patron->userid;
317
    my $password = 'thePassword123';
318
    $patron->set_password( { password => $password, skip_validation => 1 } );
319
320
    my $patron_id = $patron->id;
321
    my $credit    = $patron->account->add_credit(
322
        {
323
            amount      => 100,
324
            description => "A description",
325
            type        => "NEW_CARD",
326
            interface   => 'test',
327
        }
328
    );
329
    my $credit_id = $credit->id;
330
331
    $t->get_ok("//$userid:$password@/api/v1/patrons/$patron_id/account/credits/$credit_id")->status_is(200)
332
        ->json_is( '/account_line_id' => $credit_id )->json_is( '/patron_id' => $patron_id );
333
334
    $credit->delete();
335
336
    $t->get_ok("//$userid:$password@/api/v1/patrons/$patron_id/account/credits/$credit_id")->status_is(404)
337
        ->json_is( '/error_code' => 'not_found' )->json_is( '/error' => 'Credit not found' );
338
339
    my $deleted_patron    = $builder->build_object( { class => 'Koha::Patrons' } );
340
    my $deleted_patron_id = $deleted_patron->id;
341
    $deleted_patron->delete();
342
343
    $t->get_ok("//$userid:$password@/api/v1/patrons/$deleted_patron_id/account/credits/$credit_id")->status_is(404)
344
        ->json_is( '/error_code' => 'not_found' )->json_is( '/error' => 'Patron not found' );
345
346
    $schema->storage->txn_rollback;
347
};
348
303
subtest 'list_credits() test' => sub {
349
subtest 'list_credits() test' => sub {
304
    plan tests => 3;
350
    plan tests => 3;
305
351
Lines 340-345 subtest 'list_credits() test' => sub { Link Here
340
    $schema->storage->txn_rollback;
386
    $schema->storage->txn_rollback;
341
};
387
};
342
388
389
subtest 'get_debit() tests' => sub {
390
391
    plan tests => 12;
392
393
    $schema->storage->txn_begin;
394
395
    my $patron = $builder->build_object(
396
        {
397
            class => 'Koha::Patrons',
398
            value => { flags => 1 }
399
        }
400
    );
401
    my $userid   = $patron->userid;
402
    my $password = 'thePassword123';
403
    $patron->set_password( { password => $password, skip_validation => 1 } );
404
405
    my $patron_id = $patron->id;
406
    my $debit     = $patron->account->add_debit(
407
        {
408
            amount      => 100,
409
            description => "A description",
410
            type        => "NEW_CARD",
411
            interface   => 'test',
412
        }
413
    );
414
    my $debit_id = $debit->id;
415
416
    $t->get_ok("//$userid:$password@/api/v1/patrons/$patron_id/account/debits/$debit_id")->status_is(200)
417
        ->json_is( '/account_line_id' => $debit_id )->json_is( '/patron_id' => $patron_id );
418
419
    $debit->delete();
420
421
    $t->get_ok("//$userid:$password@/api/v1/patrons/$patron_id/account/debits/$debit_id")->status_is(404)
422
        ->json_is( '/error_code' => 'not_found' )->json_is( '/error' => 'Debit not found' );
423
424
    my $deleted_patron    = $builder->build_object( { class => 'Koha::Patrons' } );
425
    my $deleted_patron_id = $deleted_patron->id;
426
    $deleted_patron->delete();
427
428
    $t->get_ok("//$userid:$password@/api/v1/patrons/$deleted_patron_id/account/debits/$debit_id")->status_is(404)
429
        ->json_is( '/error_code' => 'not_found' )->json_is( '/error' => 'Patron not found' );
430
431
    $schema->storage->txn_rollback;
432
};
433
343
subtest 'list_debits() test' => sub {
434
subtest 'list_debits() test' => sub {
344
    plan tests => 3;
435
    plan tests => 3;
345
436
346
- 

Return to bug 38931