From db64c94953be772fb316d508fdfffd374ea1d835 Mon Sep 17 00:00:00 2001 From: Marcel de Rooy Date: Mon, 15 May 2017 10:38:43 +0200 Subject: [PATCH] Bug 18605: Remove TRUNCATE from C4/HoldsQueue.pm 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 Signed-off-by: Mark Tompsett Signed-off-by: Nick Clemens Signed-off-by: Jonathan Druart --- C4/HoldsQueue.pm | 4 ++-- t/db_dependent/HoldsQueue.t | 12 +++++++++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/C4/HoldsQueue.pm b/C4/HoldsQueue.pm index 1e893fa5b7..cf86aa81c9 100755 --- a/C4/HoldsQueue.pm +++ b/C4/HoldsQueue.pm @@ -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; } diff --git a/t/db_dependent/HoldsQueue.t b/t/db_dependent/HoldsQueue.t index 3f9d3bd6c7..288432e3ad 100755 --- a/t/db_dependent/HoldsQueue.t +++ b/t/db_dependent/HoldsQueue.t @@ -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; -- 2.39.5