From 6313dcfae6e786a3111b4201fb454f7ee3d5216f Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Fri, 24 May 2013 16:18:59 +0200 Subject: [PATCH] WIP: HoldsQueue.t needs to create its own data http://bugs.koha-community.org/show_bug.cgi?id=10336 --- t/db_dependent/HoldsQueue.t | 44 ++++++++++++++++++++++++------------------- 1 file changed, 25 insertions(+), 19 deletions(-) diff --git a/t/db_dependent/HoldsQueue.t b/t/db_dependent/HoldsQueue.t index 7fb459a..d1bf287 100755 --- a/t/db_dependent/HoldsQueue.t +++ b/t/db_dependent/HoldsQueue.t @@ -6,14 +6,18 @@ # MySQL WARNING: This makes sense only if your tables are InnoDB, otherwise # transactions are not supported and mess is left behind -use strict; -use warnings; +use Modern::Perl; + use C4::Context; use Data::Dumper; use Test::More tests => 18; +use C4::Branch; +use C4::ItemType; +use C4::Members; + BEGIN { use FindBin; use lib $FindBin::Bin; @@ -21,28 +25,32 @@ BEGIN { use_ok('C4::HoldsQueue'); } -my $TITLE = "Test Holds Queue XXX"; -# Pick a plausible borrower. Easier than creating one. -my $BORROWER_QRY = <dbh; -my $borrower = $dbh->selectrow_hashref($BORROWER_QRY); -my $borrowernumber = $borrower->{borrowernumber}; +$dbh->{AutoCommit} = 0; +$dbh->{RaiseError} = 1; + +my $TITLE = "Test Holds Queue XXX"; + +my %data = ( + cardnumber => 'CARDNUMBER42', + firstname => 'my firstname', + surname => 'my surname', + categorycode => 'S', + branchcode => 'CPL', +); + +my $borrowernumber = AddMember(%data); +my $borrower = GetMember( borrowernumber => $borrowernumber ); # Set special (for this test) branches my $borrower_branchcode = $borrower->{branchcode}; -my @other_branches = grep { $_ ne $borrower_branchcode } @{ $dbh->selectcol_arrayref("SELECT branchcode FROM branches") }; +my @other_branches = grep { $_ ne $borrower_branchcode } keys GetBranches; my $least_cost_branch_code = pop @other_branches or BAIL_OUT("No point testing only one branch..."); -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 or BAIL_OUT("No adequate itemtype"); -# Start transaction -$dbh->{AutoCommit} = 0; -$dbh->{RaiseError} = 1; - #Set up the stage # Sysprefs and cost matrix $dbh->do("UPDATE systempreferences SET value = ? WHERE variable = 'StaticHoldsQueueWeight'", undef, @@ -144,8 +152,6 @@ ok( $queue_item # Cleanup $dbh->rollback; -exit; - sub test_queue { my ($test_name, $use_cost_matrix, $pick_branch, $hold_branch) = @_; -- 1.7.10.4