Bug 18605: Remove TRUNCATE from C4/HoldsQueue.pm
authorMarcel de Rooy <m.de.rooy@rijksmuseum.nl>
Mon, 15 May 2017 08:38:43 +0000 (10:38 +0200)
committerJonathan Druart <jonathan.druart@bugs.koha-community.org>
Mon, 24 Jul 2017 17:12:27 +0000 (14:12 -0300)
Replaces TRUNCATE by DELETE, since truncate implicitly commits. We don't
need to do that here. (Would complicate testing it too.)
Fixes typo disablig.
Add a simple test to HoldsQueue.t.

Test plan:
Run t/db_dependent/HoldsQueue.t

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
C4/HoldsQueue.pm
t/db_dependent/HoldsQueue.t

index 1e893fa..cf86aa8 100755 (executable)
@@ -101,7 +101,7 @@ sub UpdateTransportCostMatrix {
 
     my $sth = $dbh->prepare("INSERT INTO transport_cost (frombranch, tobranch, cost, disable_transfer) VALUES (?, ?, ?, ?)");
 
-    $dbh->do("TRUNCATE TABLE transport_cost");
+    $dbh->do("DELETE FROM transport_cost");
     foreach (@$records) {
         my $cost = $_->{cost};
         my $from = $_->{frombranch};
@@ -110,7 +110,7 @@ sub UpdateTransportCostMatrix {
             $cost ||= 0;
         }
         elsif ( !defined ($cost) || ($cost !~ m/(0|[1-9][0-9]*)(\.[0-9]*)?/o) ) {
-            warn  "Invalid $from -> $to cost $cost - must be a number >= 0, disablig";
+            warn  "Invalid $from -> $to cost $cost - must be a number >= 0, disabling";
             $cost = 0;
             $_->{disable_transfer} = 1;
         }
index 3f9d3bd..288432e 100755 (executable)
@@ -8,7 +8,7 @@
 
 use Modern::Perl;
 
-use Test::More tests => 43;
+use Test::More tests => 44;
 use Data::Dumper;
 
 use C4::Calendar;
@@ -724,6 +724,16 @@ C4::HoldsQueue::CreateQueue();
 my $queue_rs = $schema->resultset('TmpHoldsqueue');
 is( $queue_rs->count(), 1, "Hold queue contains one hold from chosen from three possible items" );
 
+subtest 'Trivial test for UpdateTransportCostMatrix' => sub {
+    plan tests => 1;
+    my $recs = [
+        { frombranch => $library1->{branchcode}, tobranch => $library2->{branchcode}, cost => 1, disable_transfer => 0 },
+        { frombranch => $library2->{branchcode}, tobranch => $library3->{branchcode}, cost => 0, disable_transfer => 1 },
+    ];
+    C4::HoldsQueue::UpdateTransportCostMatrix( $recs );
+    is( $schema->resultset('TransportCost')->count, 2, 'UpdateTransportCostMatrix added two records' );
+};
+
 # Cleanup
 $schema->storage->txn_rollback;