From 28191756d181e468af6944db3f9285d80c8b527a Mon Sep 17 00:00:00 2001 From: Martin Renvoize Date: Fri, 1 Feb 2019 09:55:54 +0000 Subject: [PATCH] Bug 22254: Correction to datehandling in test Adding 13 months is not always the same as adding 1 month and then adding 12 months in DateTime maths. This patch rectified the test to match the correct behaviour in koha. Test plan. 1) Modify the test (around line 268) to test against the suspect leap date of 2019-01-31 and watch the test fail. 2) Apply the patch (which also adds this modification to test for such a leap date) and watch the test now pass. Signed-off-by: Tomas Cohen Arazi Signed-off-by: Katrin Fischer Signed-off-by: Nick Clemens (cherry picked from commit 1da0ba48b6fdf38cfd3d3ea63ec076b15995610f) Signed-off-by: Martin Renvoize (cherry picked from commit 413f34ba244af3560861785f5aa74ab457f00b02) Signed-off-by: Lucas Gass (cherry picked from commit 60f8ca789f713c3a5c7e3478bac7132165b9092d) Signed-off-by: Fridolin Somers --- t/db_dependent/Koha/Patrons.t | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/t/db_dependent/Koha/Patrons.t b/t/db_dependent/Koha/Patrons.t index 33ecbab9ab..0ed6ea7ef4 100644 --- a/t/db_dependent/Koha/Patrons.t +++ b/t/db_dependent/Koha/Patrons.t @@ -286,16 +286,16 @@ subtest 'is_going_to_expire' => sub { subtest 'renew_account' => sub { - plan tests => 36; + plan tests => 48; - for my $date ( '2016-03-31', '2016-11-30', dt_from_string() ) { + for my $date ( '2016-03-31', '2016-11-30', '2019-01-31', dt_from_string() ) { my $dt = dt_from_string( $date, 'iso' ); Time::Fake->offset( $dt->epoch ); my $a_month_ago = $dt->clone->subtract( months => 1, end_of_month => 'limit' )->truncate( to => 'day' ); my $a_year_later = $dt->clone->add( months => 12, end_of_month => 'limit' )->truncate( to => 'day' ); - my $a_year_later_minus_a_month = $dt->clone->add( months => 11, end_of_month => 'limit' )->truncate( to => 'day' ); + my $a_year_later_minus_a_month = $a_month_ago->clone->add( months => 12, end_of_month => 'limit' )->truncate( to => 'day' ); my $a_month_later = $dt->clone->add( months => 1 , end_of_month => 'limit' )->truncate( to => 'day' ); - my $a_year_later_plus_a_month = $dt->clone->add( months => 13, end_of_month => 'limit' )->truncate( to => 'day' ); + my $a_year_later_plus_a_month = $a_month_later->clone->add( months => 12, end_of_month => 'limit' )->truncate( to => 'day' ); my $patron_category = $builder->build( { source => 'Category', value => { -- 2.20.1