From c5c3d47621cfb39df13fc7e4227fda056813e379 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Tue, 19 Jan 2016 16:58:07 +0000 Subject: [PATCH] Bug 15391: Fix HoldsQueue.t tests MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Prior to this patch, in HoldsQueue.t: 63 my @item_types = C4::ItemType->all; 64 my $itemtype = grep { $_->{notforloan} == 1 } @item_types 65 or BAIL_OUT("No adequate itemtype"); Then we use the $itemtype variable (which contains the number of item types not for loan): 92 $dbh->do("INSERT INTO biblioitems (biblionumber, marcxml, itemtype) 93 VALUES ($biblionumber, '', '$itemtype')"); There is obviously something wrong here. The code should be 64 my @not_for_loan = grep { $_->{notforloan} == 1 } @item_types 65 or BAIL_OUT("No adequate itemtype"); 66 my $itemtype = $not_for_loan[0]->{itemtype}; But then some tests don't pass: Actually the problem comes from: commit bfbc646fdd9ca4b90a0bc2751d0faa95d9e93ba1 Bug 10336: HoldsQueue.t needs to create its own data -my $itemtype = $dbh->selectrow_array("SELECT min(itemtype) FROM itemtypes WHERE notforloan = 0") +my @item_types = C4::ItemType->all; +my $itemtype = grep { $_->{notforloan} == 1 } @item_types The line should have been: my $itemtype = grep { $_->{notforloan} == 0 } @item_types Test plan: Confirm that the tests still pass after this patch applied. Signed-off-by: Kyle M Hall All tests pass pre and post patch Signed-off-by: Katrin Fischer Signed-off-by: Brendan A Gallagher (cherry picked from commit b340d1f5bd02e1ddb535db13e321e6b07a166725) Signed-off-by: Julian Maurice (cherry picked from commit 31ab3b277c51c5ae8c3b6ccdfa2a9e007b85a0e3) Signed-off-by: Frédéric Demians --- t/db_dependent/HoldsQueue.t | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/t/db_dependent/HoldsQueue.t b/t/db_dependent/HoldsQueue.t index 0a96143779..15b9a97460 100755 --- a/t/db_dependent/HoldsQueue.t +++ b/t/db_dependent/HoldsQueue.t @@ -50,8 +50,9 @@ my @other_branches = grep { $_ ne $borrower_branchcode } keys %$branches; my $least_cost_branch_code = pop @other_branches or BAIL_OUT("No point testing only one branch..."); my @item_types = C4::ItemType->all; -my $itemtype = grep { $_->{notforloan} == 1 } @item_types +my @for_loan = grep { $_->{notforloan} == 0 } @item_types or BAIL_OUT("No adequate itemtype"); +my $itemtype = $for_loan[0]->{itemtype}; #Set up the stage # Sysprefs and cost matrix -- 2.39.5