From 6dd0764a89e712766eaea562ea4d87726ad7e05f Mon Sep 17 00:00:00 2001 From: Alex Arnaud Date: Tue, 16 Jun 2015 14:49:30 +0200 Subject: [PATCH 4/7] Bug 6810 - Fix QA failures: - use Koha::DateUtils instead of Koha::Template::Plugin::KohaDates, - Add test with syspref MembershipExpiryDaysNotice equals 0 and undef, - fix (new) test failure (when MembershipExpiryDaysNotice is undef). Signed-off-by: Indranil Das Gupta (L2C2 Technologies) --- C4/Letters.pm | 6 ++---- C4/Members.pm | 2 +- t/Members.t | 14 +++++++++++++- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/C4/Letters.pm b/C4/Letters.pm index 18b8464..7c22d6a 100644 --- a/C4/Letters.pm +++ b/C4/Letters.pm @@ -35,7 +35,7 @@ use Date::Calc qw( Add_Delta_Days ); use Encode; use Carp; use Koha::Email; -use Koha::Template::Plugin::KohaDates; +use Koha::DateUtils qw( format_sqldatetime ); use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); @@ -787,9 +787,7 @@ sub _parseletter { my ( $letter, $table, $values ) = @_; if ( $table eq 'borrowers' && $values->{'dateexpiry'} ){ - $values->{'dateexpiry'} = Koha::Template::Plugin::KohaDates - ->new() - ->filter($values->{'dateexpiry'}); + $values->{'dateexpiry'} = format_sqldatetime( $values->{'dateexpiry'} ); } if ( $table eq 'reserves' && $values->{'waitingdate'} ) { diff --git a/C4/Members.pm b/C4/Members.pm index f03134b..b0bd3be 100644 --- a/C4/Members.pm +++ b/C4/Members.pm @@ -1489,7 +1489,7 @@ sub GetExpiryDate { sub GetUpcomingMembershipExpires { my $dbh = C4::Context->dbh; - my $days = C4::Context->preference("MembershipExpiryDaysNotice"); + my $days = C4::Context->preference("MembershipExpiryDaysNotice") || 0; my $dateexpiry = DateTime->now()->add(days => $days)->ymd(); my $query = " diff --git a/t/Members.t b/t/Members.t index c040238..241858f 100644 --- a/t/Members.t +++ b/t/Members.t @@ -23,7 +23,7 @@ use Test::MockModule; use t::lib::TestBuilder; use t::lib::Mocks qw( mock_preference ); -use Test::More tests => 3; +use Test::More tests => 5; use Test::MockModule; BEGIN { @@ -103,3 +103,15 @@ my $upcoming_mem_expires = C4::Members::GetUpcomingMembershipExpires(); is(scalar(@$upcoming_mem_expires), 1, 'Get upcoming membership expires should return 1 borrower.'); is($upcoming_mem_expires->[0]{surname}, 'Martin', 'Get upcoming membership expires should return borrower "Martin".'); + +# Test GetUpcomingMembershipExpires() with MembershipExpiryDaysNotice == 0 +t::lib::Mocks::mock_preference('MembershipExpiryDaysNotice', 0); + +$upcoming_mem_expires = C4::Members::GetUpcomingMembershipExpires(); +is(scalar(@$upcoming_mem_expires), 0, 'Get upcoming membership expires with 0 MembershipExpiryDaysNotice should return 0.'); + +# Test GetUpcomingMembershipExpires() with MembershipExpiryDaysNotice == undef +t::lib::Mocks::mock_preference('MembershipExpiryDaysNotice', undef); + +$upcoming_mem_expires = C4::Members::GetUpcomingMembershipExpires(); +is(scalar(@$upcoming_mem_expires), 0, 'Get upcoming membership expires without MembershipExpiryDaysNotice should return 0.'); -- 1.7.9.5