Bugzilla – Attachment 21121 Details for
Bug 10243
Holds queue is making transfer requests that contradict the branch holds policy
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 10243 - Holds queue is making transfer requests that contradict the branch holds policy - Unit Tests
Bug-10243---Holds-queue-is-making-transfer-request.patch (text/plain), 5.54 KB, created by
Kyle M Hall (khall)
on 2013-09-16 15:31:40 UTC
(
hide
)
Description:
Bug 10243 - Holds queue is making transfer requests that contradict the branch holds policy - Unit Tests
Filename:
MIME Type:
Creator:
Kyle M Hall (khall)
Created:
2013-09-16 15:31:40 UTC
Size:
5.54 KB
patch
obsolete
>From 7cacd38e094363b1ccea9101a5806bcc72c6eb06 Mon Sep 17 00:00:00 2001 >From: Kyle M Hall <kyle@bywatersolutions.com> >Date: Mon, 16 Sep 2013 11:31:22 -0400 >Subject: [PATCH] Bug 10243 - Holds queue is making transfer requests that contradict the branch holds policy - Unit Tests > >--- > t/db_dependent/HoldsQueue.t | 145 ++++++++++++++++++++++++++++++++++++++++++- > 1 files changed, 144 insertions(+), 1 deletions(-) > >diff --git a/t/db_dependent/HoldsQueue.t b/t/db_dependent/HoldsQueue.t >index 0066bb6..92bd843 100755 >--- a/t/db_dependent/HoldsQueue.t >+++ b/t/db_dependent/HoldsQueue.t >@@ -12,7 +12,7 @@ use C4::Context; > > use Data::Dumper; > >-use Test::More tests => 17; >+use Test::More tests => 20; > > > use C4::Branch; >@@ -159,6 +159,149 @@ ok( > # Cleanup > $dbh->rollback; > >+### Test holds queue builder does not violate holds policy ### >+ >+# Clear out existing rules relating to holdallowed >+$dbh->do("DELETE FROM default_branch_circ_rules"); >+$dbh->do("DELETE FROM default_branch_item_rules"); >+$dbh->do("DELETE FROM default_circ_rules"); >+ >+C4::Context->set_preference('UseTransportCostMatrix', 0); >+ >+my @branchcodes = keys %$branches; >+( $itemtype ) = @{ $dbh->selectrow_arrayref("SELECT itemtype FROM itemtypes LIMIT 1") }; >+ >+my $borrowernumber1 = AddMember( >+ ( >+ cardnumber => 'CARDNUMBER1', >+ firstname => 'Firstname', >+ surname => 'Surname', >+ categorycode => 'S', >+ branchcode => $branchcodes[0], >+ ) >+); >+my $borrowernumber2 = AddMember( >+ ( >+ cardnumber => 'CARDNUMBER2', >+ firstname => 'Firstname', >+ surname => 'Surname', >+ categorycode => 'S', >+ branchcode => $branchcodes[1], >+ ) >+); >+my $borrowernumber3 = AddMember( >+ ( >+ cardnumber => 'CARDNUMBER3', >+ firstname => 'Firstname', >+ surname => 'Surname', >+ categorycode => 'S', >+ branchcode => $branchcodes[2], >+ ) >+); >+my $borrower1 = GetMember( borrowernumber => $borrowernumber1 ); >+my $borrower2 = GetMember( borrowernumber => $borrowernumber2 ); >+my $borrower3 = GetMember( borrowernumber => $borrowernumber3 ); >+ >+$dbh->do(qq{ >+ INSERT INTO biblio ( >+ frameworkcode, >+ author, >+ title, >+ datecreated >+ ) VALUES ( >+ 'SER', >+ 'Koha test', >+ '$TITLE', >+ '2011-02-01' >+ ) >+}); >+$biblionumber = $dbh->selectrow_array("SELECT biblionumber FROM biblio WHERE title = '$TITLE'") >+ or BAIL_OUT("Cannot find newly created biblio record"); >+ >+$dbh->do(qq{ >+ INSERT INTO biblioitems ( >+ biblionumber, >+ marcxml, >+ itemtype >+ ) VALUES ( >+ $biblionumber, >+ '', >+ '$itemtype' >+ ) >+}); >+$biblioitemnumber = $dbh->selectrow_array("SELECT biblioitemnumber FROM biblioitems WHERE biblionumber = $biblionumber") >+ or BAIL_OUT("Cannot find newly created biblioitems record"); >+ >+$items_insert_sth = $dbh->prepare(qq{ >+ INSERT INTO items ( >+ biblionumber, >+ biblioitemnumber, >+ barcode, >+ homebranch, >+ holdingbranch, >+ notforloan, >+ damaged, >+ itemlost, >+ withdrawn, >+ onloan, >+ itype >+ ) VALUES ( >+ $biblionumber, >+ $biblioitemnumber, >+ ?, >+ ?, >+ ?, >+ 0, >+ 0, >+ 0, >+ 0, >+ NULL, >+ '$itemtype' >+ ) >+}); >+# Create 3 items from 2 branches ( branches are for borrowers 1 and 2 respectively ) >+$barcode = int( rand(1000000000000) ); >+$items_insert_sth->execute( $barcode + 0, $branchcodes[0], $branchcodes[0] ); >+$items_insert_sth->execute( $barcode + 1, $branchcodes[1], $branchcodes[1] ); >+$items_insert_sth->execute( $barcode + 2, $branchcodes[1], $branchcodes[1] ); >+ >+$dbh->do("DELETE FROM reserves"); >+my $sth = $dbh->prepare(q{ >+ INSERT INTO reserves ( >+ borrowernumber, >+ biblionumber, >+ branchcode, >+ priority, >+ reservedate >+ ) VALUES ( ?,?,?,?, CURRENT_DATE() ) >+}); >+$sth->execute( $borrower1->{borrowernumber}, $biblionumber, $branchcodes[0], 1 ); >+$sth->execute( $borrower2->{borrowernumber}, $biblionumber, $branchcodes[0], 2 ); >+$sth->execute( $borrower3->{borrowernumber}, $biblionumber, $branchcodes[0], 3 ); >+#warn "RESERVES" . Data::Dumper::Dumper( $dbh->selectall_arrayref("SELECT * FROM reserves", { Slice => {} }) ); >+#warn "ITEMS: " . Data::Dumper::Dumper( $dbh->selectall_arrayref("SELECT * FROM items WHERE biblionumber = $biblionumber", { Slice => {} }) ); >+ >+my $holds_queue; >+ >+$dbh->do("DELETE FROM default_circ_rules"); >+$dbh->do("INSERT INTO default_circ_rules ( holdallowed ) VALUES ( 1 )"); >+C4::HoldsQueue::CreateQueue(); >+$holds_queue = $dbh->selectall_arrayref("SELECT * FROM tmp_holdsqueue", { Slice => {} }); >+ok( @$holds_queue == 1, "Holds queue filling correct number for default holds policy 'from home library'" ); >+ok( $holds_queue->[0]->{cardnumber} eq 'CARDNUMBER1', "Holds queue filling correct hold for default holds policy 'from home library'"); >+ >+$dbh->do("DELETE FROM default_circ_rules"); >+$dbh->do("INSERT INTO default_circ_rules ( holdallowed ) VALUES ( 2 )"); >+C4::HoldsQueue::CreateQueue(); >+$holds_queue = $dbh->selectall_arrayref("SELECT * FROM tmp_holdsqueue", { Slice => {} }); >+ok( @$holds_queue == 3, "Holds queue filling correct number for holds for default holds policy 'from any library'" ); >+#warn "HOLDS QUEUE: " . Data::Dumper::Dumper( $holds_queue ); >+ >+# Cleanup >+$dbh->rollback; >+ >+### END Test holds queue builder does not violate holds policy ### >+ > sub test_queue { > my ($test_name, $use_cost_matrix, $pick_branch, $hold_branch) = @_; > >-- >1.7.2.5
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 10243
:
18137
|
18138
|
18160
|
19097
| 21121 |
21927