[Koha-patches] [PATCH] [SIGNED-OFF] Bug 10441: Testing AddShare in VirtualShelves.t

Srdjan srdjan at catalyst.net.nz
Thu Jul 18 01:52:47 CEST 2013


From: Marcel de Rooy <m.de.rooy at rijksmuseum.nl>

Builds upon 10386 and 9032.
Adds a unit test for routine AddShare.

This patch also restores the inadvertently deleted DelShelf tests in bug 10499.

Test plan: Run the test. All passed?

Signed-off-by: Srdjan <srdjan at catalyst.net.nz>
---
 t/db_dependent/VirtualShelves.t | 39 ++++++++++++++++++++++++++++++++++++++-
 1 file changed, 38 insertions(+), 1 deletion(-)

diff --git a/t/db_dependent/VirtualShelves.t b/t/db_dependent/VirtualShelves.t
index 9f3f1b0..4a20619 100755
--- a/t/db_dependent/VirtualShelves.t
+++ b/t/db_dependent/VirtualShelves.t
@@ -5,7 +5,7 @@
 # Larger modifications by Jonathan Druart and Marcel de Rooy
 
 use Modern::Perl;
-use Test::More tests => 71;
+use Test::More tests => 83;
 use MARC::Record;
 
 use C4::Biblio qw( AddBiblio DelBiblio );
@@ -177,6 +177,43 @@ for my $i(0..9){
     }
 }
 
+#----------------------- TEST AddShare ----------------------------------------#
+
+#first count the number of shares in the table; keep in mind that AddShare may
+#delete some expired records while housekeeping
+my $sql_sharecount="select count(*) from virtualshelfshares where DATEDIFF(sharedate, NOW())>0";
+my $cnt1=$dbh->selectrow_array($sql_sharecount);
+
+#try to add a share without shelfnumber: should fail
+AddShare(0, 'abcdefghij');
+my $cnt2=$dbh->selectrow_array($sql_sharecount);
+ok($cnt1 == $cnt2, "Did not add an invalid share record");
+
+#add another share: should be okay
+#AddShare assumes that you tested if category==private (so we could actually
+#be doing something illegal here :)
+my $n=$shelves[0]->{number};
+if($n<0) {
+    ok(1, 'Skip AddShare for shelf -1');
+}
+else {
+    AddShare($n, 'abcdefghij');
+    my $cnt3=$dbh->selectrow_array($sql_sharecount);
+    ok(1+$cnt2 == $cnt3, "Added one new share record with invitekey");
+}
+
+#----------------TEST DelShelf & DelFromShelf functions------------------------#
+
+for(my $i=0; $i<10;$i++){
+    my $shelfnumber = $shelves[$i]->{number};
+    if($shelfnumber<0) {
+        ok(1, 'Skip DelShelf for shelf -1');
+        next;
+    }
+    my $status = DelShelf($shelfnumber);
+    ok(1 == $status, "deleted shelf $shelfnumber and its contents");
+}
+
 #----------------------- SOME SUBS --------------------------------------------#
 
 sub randomname {
-- 
1.8.1.2


More information about the Koha-patches mailing list