[Koha-bugs] [Bug 21086] Wrong mock of DateTime->now in tests
bugzilla-daemon at bugs.koha-community.org
bugzilla-daemon at bugs.koha-community.org
Thu Jul 19 13:29:25 CEST 2018
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=21086
Josef Moravec <josef.moravec at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #77098|0 |1
is obsolete| |
--- Comment #3 from Josef Moravec <josef.moravec at gmail.com> ---
Created attachment 77101
-->
https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=77101&action=edit
Bug 21086: Fix wrong mock of DateTime->now
prove t/db_dependent/DecreaseLoanHighHolds.t
t/db_dependent/DecreaseLoanHighHolds.t .. 1/17 Can't locate object method
"truncate" via package "80" (perhaps you forgot to load "80"?) at
/home/vagrant/kohaclone/C4/Circulation.pm line 3497.
What is happening:
We mock DateTime->now in the script to avoid the date comparaisons to fail on
slow servers (see bug 19705).
my $now_value = DateTime->now();
my $mocked_datetime = Test::MockModule->new('DateTime');
$mocked_datetime->mock( 'now', sub { return $now_value; } );
Since bug 20287, we have the following calls:
Koha::Patron->store => Koha::Patron::Category->get_expiry_date
which does:
221 return $date->add( months => $self->enrolmentperiod, end_of_month
=> 'limit' );
as enrolmentperiod is generated by t::lib::TestBuilder, it can be quite big,
and so
the date change from one call to the others.
The failure is actually coming from the date becoming > 9999, which is not
handled correctly,
on purpose, by Koha::DateUtils (infinite)
On the way this patch fixes the other occurrence, in Sitemapper.t (just in
case)
Test plan:
Make sure the tests pass now.
Signed-off-by: Katrin Fischer <katrin.fischer.83 at web.de>
Signed-off-by: Josef Moravec <josef.moravec at gmail.com>
--
You are receiving this mail because:
You are watching all bug changes.
More information about the Koha-bugs
mailing list