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

(-)a/t/db_dependent/ILSDI_Services.t (-2 / +36 lines)
Lines 19-25 use Modern::Perl; Link Here
19
19
20
use CGI qw ( -utf8 );
20
use CGI qw ( -utf8 );
21
21
22
use Test::More tests => 7;
22
use Test::More tests => 8;
23
use Test::MockModule;
23
use Test::MockModule;
24
use t::lib::Mocks;
24
use t::lib::Mocks;
25
use t::lib::TestBuilder;
25
use t::lib::TestBuilder;
Lines 596-598 subtest 'GetRecords' => sub { Link Here
596
596
597
    $schema->storage->txn_rollback;
597
    $schema->storage->txn_rollback;
598
};
598
};
599
- 
599
600
subtest 'RenewHold' => sub {
601
    plan tests => 4;
602
603
    $schema->storage->txn_begin;
604
605
    my $cgi    = new CGI;
606
    my $patron = $builder->build_object( { class => 'Koha::Patrons' } );
607
    my $item   = $builder->build_object( { class => 'Koha::Items' } );
608
    $cgi->param( patron_id => $patron->borrowernumber );
609
    $cgi->param( item_id   => $item->itemnumber );
610
611
    t::lib::Mocks::mock_userenv( { patron => $patron } );    # For AddIssue
612
    my $checkout = C4::Circulation::AddIssue( $patron->unblessed, $item->barcode );
613
614
    # Everything is ok
615
    my $reply = C4::ILSDI::Services::RenewLoan($cgi);
616
    is( exists $reply->{date_due}, 1, 'If the item is checked out, the date_due key should exist' );
617
618
    # The item is not checked out
619
    $checkout->delete;
620
    $reply = C4::ILSDI::Services::RenewLoan($cgi);
621
    is( $reply, undef, 'If the item is not checked out, we should not explode.');    # FIXME We should return an error code instead
622
623
    # The item does not exist
624
    $item->delete;
625
    $reply = C4::ILSDI::Services::RenewLoan($cgi);
626
    is( $reply->{code}, 'RecordNotFound', 'If the item does not exist, RecordNotFound should be returned');
627
628
    $patron->delete;
629
    $reply = C4::ILSDI::Services::RenewLoan($cgi);
630
    is( $reply->{code}, 'PatronNotFound', 'If the patron does not exist, PatronNotFound should be returned');
631
632
    $schema->storage->txn_rollback;
633
};

Return to bug 22891