From 7ee2495f321198548b3ffbf983aa1d13f6c6c2cc Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Mon, 12 Aug 2019 18:41:24 +0000 Subject: [PATCH] Bug 18958: Unit tests Signed-off-by: Bonnie Gardner Signed-off-by: Bouzid Fergani Signed-off-by: Kyle M Hall Signed-off-by: Andrew Fuerste-Henry Signed-off-by: Marcel de Rooy JD amended patch: perltidy and simplify item/biblio creation Signed-off-by: Jonathan Druart Signed-off-by: Jonathan Druart --- t/db_dependent/Reserves.t | 80 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 79 insertions(+), 1 deletion(-) diff --git a/t/db_dependent/Reserves.t b/t/db_dependent/Reserves.t index 26f1f4863e..f1cdd065f8 100755 --- a/t/db_dependent/Reserves.t +++ b/t/db_dependent/Reserves.t @@ -17,7 +17,7 @@ use Modern::Perl; -use Test::More tests => 63; +use Test::More tests => 64; use Test::MockModule; use Test::Warn; @@ -1075,6 +1075,84 @@ subtest 'RevertWaitingStatus' => sub { ); }; +subtest 'CheckReserves additional test' => sub { + + plan tests => 3; + + my $item = $builder->build_sample_item; + my $reserve1 = $builder->build_object( + { + class => "Koha::Holds", + value => { + found => undef, + priority => 1, + itemnumber => undef, + biblionumber => $item->biblionumber, + waitingdate => undef, + cancellationdate => undef, + item_level_hold => 0, + lowestPriority => 0, + expirationdate => undef, + suspend_until => undef, + suspend => 0, + itemtype => undef, + } + } + ); + my $reserve2 = $builder->build_object( + { + class => "Koha::Holds", + value => { + found => undef, + priority => 2, + biblionumber => $item->biblionumber, + borrowernumber => $reserve1->borrowernumber, + itemnumber => undef, + waitingdate => undef, + cancellationdate => undef, + item_level_hold => 0, + lowestPriority => 0, + expirationdate => undef, + suspend_until => undef, + suspend => 0, + itemtype => undef, + } + } + ); + + my $tmp_holdsqueue = $builder->build( + { + source => 'TmpHoldsqueue', + value => { + borrowernumber => $reserve1->borrowernumber, + biblionumber => $reserve1->biblionumber, + } + } + ); + my $fill_target = $builder->build( + { + source => 'HoldFillTarget', + value => { + borrowernumber => $reserve1->borrowernumber, + biblionumber => $reserve1->biblionumber, + itemnumber => $item->itemnumber, + item_level_request => 0, + } + } + ); + + ModReserveAffect( $item->itemnumber, $reserve1->borrowernumber, 1, + $reserve1->reserve_id ); + my ( $status, $matched_reserve, $possible_reserves ) = + CheckReserves( $item->itemnumber ); + + is( $status, 'Reserved', "We found a reserve" ); + is( $matched_reserve->{reserve_id}, + $reserve1->reserve_id, "We got the Transit reserve" ); + is( scalar @$possible_reserves, 1, 'We only get the one matched' ); + +}; + sub count_hold_print_messages { my $message_count = $dbh->selectall_arrayref(q{ SELECT COUNT(*) -- 2.20.1