From ae754c73e0dabe77157f25c5be3023353773c019 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Tue, 16 Oct 2018 10:27:37 -0300 Subject: [PATCH] Bug 21155: Prevent SwitchOnSiteCheckouts.t to fail randomly # Failed test 'The date_due should have been set depending on the circ rules when the on-site checkout has been switched' # at t/db_dependent/Circulation/SwitchOnSiteCheckouts.t line 126. # got: '2018-10-16T23:59:00' # expected: '2018-10-21T23:59:00' TestBuilder set date to today, so issuingrules.harduedate will be set to today. issuingrules.hardduedatecompare will be set to an integer. If set to 0, $datedue will be reset to the hard due date The call stack is: AddIssue > CalcDateDue > GetHardDueDate In GetHardDueDate: 3509 if ( $hardduedatecompare == 0 || $hardduedatecompare == $cmp ) { 3510 $datedue = $hardduedate->clone; 3511 } To fix this random failure we need to set issuingrules.harduedate to undef. Test plan: 0. Do not apply this patch 1. Modify the test to set hardduedatecompare to 0 (search 'my $issuingrule = ') 2. Execute the test and confirm the failure 3. Apply this patch 4. Execute the test and confirm the it is no longer failing Signed-off-by: Martin Renvoize Signed-off-by: Nick Clemens (cherry picked from commit 4e6d9defc180204461f80477be287ade7fcfc11b) Signed-off-by: Martin Renvoize (cherry picked from commit c82207ebb5487660e70c7091195d67be4b434139) Signed-off-by: Fridolin Somers --- t/db_dependent/Circulation/SwitchOnSiteCheckouts.t | 2 ++ 1 file changed, 2 insertions(+) diff --git a/t/db_dependent/Circulation/SwitchOnSiteCheckouts.t b/t/db_dependent/Circulation/SwitchOnSiteCheckouts.t index 7668091b8f..5b68e4b294 100644 --- a/t/db_dependent/Circulation/SwitchOnSiteCheckouts.t +++ b/t/db_dependent/Circulation/SwitchOnSiteCheckouts.t @@ -88,6 +88,8 @@ my $issuingrule = $builder->build({ maxonsiteissueqty => 1, lengthunit => 'days', issuelength => 5, + hardduedate => undef, + hardduedatecompare => 0, }, }); -- 2.20.1