Bug 21155: Prevent SwitchOnSiteCheckouts.t to fail randomly
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Tue, 16 Oct 2018 13:27:37 +0000 (10:27 -0300)
committerNick Clemens <nick@bywatersolutions.com>
Wed, 17 Oct 2018 12:28:13 +0000 (12:28 +0000)
commit4e6d9defc180204461f80477be287ade7fcfc11b
tree55592855a188b8fa0b53346489e29ea8823fb691
parentf902041e244cc35ecc99e3ca256ff24c843a8b04
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 <martin.renvoize@ptfs-europe.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
t/db_dependent/Circulation/SwitchOnSiteCheckouts.t