5 use Test::More tests => 6;
14 use_ok('C4::Reserves');
17 my $dbh = C4::Context->dbh;
20 $dbh->{AutoCommit} = 0;
21 $dbh->{RaiseError} = 1;
23 # Setup Test------------------------
25 diag("\nCreating biblio instance for testing.");
26 my $bib = MARC::Record->new();
27 my $title = 'Silence in the library';
29 MARC::Field->new('100', ' ', ' ', a => 'Moffat, Steven'),
30 MARC::Field->new('245', ' ', ' ', a => $title),
32 my ($bibnum, $bibitemnum);
33 ($bibnum, $title, $bibitemnum) = AddBiblio($bib, '');
34 # Helper item for that biblio.
35 diag("Creating item instance for testing.");
36 my ($item_bibnum, $item_bibitemnum, $itemnumber) = AddItem({ homebranch => 'CPL', holdingbranch => 'CPL' } , $bibnum);
38 # Modify item; setting barcode.
39 my $testbarcode = '97531';
40 ModItem({ barcode => $testbarcode }, $bibnum, $itemnumber);
44 firstname => 'my firstname',
45 surname => 'my surname',
49 my $borrowernumber = AddMember(%data);
50 my $borrower = GetMember( borrowernumber => $borrowernumber );
51 my $biblionumber = $bibnum;
52 my $barcode = $testbarcode;
60 my $checkitem = undef;
63 my @branches = GetBranchesLoop();
64 my $branch = $branches[0][0]{value};
66 AddReserve($branch, $borrowernumber, $biblionumber,
67 $constraint, $bibitems, $priority, $resdate, $expdate, $notes,
68 $title, $checkitem, $found);
70 my ($status, $reserve, $all_reserves) = CheckReserves($itemnumber, $barcode);
72 is($status, "Reserved", "CheckReserves Test 1");
74 ($status, $reserve, $all_reserves) = CheckReserves($itemnumber);
75 is($status, "Reserved", "CheckReserves Test 2");
77 ($status, $reserve, $all_reserves) = CheckReserves(undef, $barcode);
78 is($status, "Reserved", "CheckReserves Test 3");
80 my $ReservesControlBranch = C4::Context->preference('ReservesControlBranch');
81 C4::Context->set_preference( 'ReservesControlBranch', 'ItemHomeLibrary' );
83 'ItemHomeLib' eq GetReservesControlBranch(
84 { homebranch => 'ItemHomeLib' },
85 { branchcode => 'PatronHomeLib' }
86 ), "GetReservesControlBranch returns item home branch when set to ItemHomeLibrary"
88 C4::Context->set_preference( 'ReservesControlBranch', 'PatronLibrary' );
90 'PatronHomeLib' eq GetReservesControlBranch(
91 { homebranch => 'ItemHomeLib' },
92 { branchcode => 'PatronHomeLib' }
93 ), "GetReservesControlBranch returns patron home branch when set to PatronLibrary"
95 C4::Context->set_preference( 'ReservesControlBranch', $ReservesControlBranch );