Koha/t/db_dependent/Reserves/AutoUnsuspendReserves.t
Nick Clemens 6e5865ee4f Bug 21075: Unit tests
prove -v t/db_dependent/Reserves/AutoUnsuspendReserves.t

Signed-off-by: Pierre-Luc Lapointe <pierreluc.lapointe@inLibro.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
2018-08-08 21:07:16 +00:00

57 lines
1.5 KiB
Perl

#!/usr/bin/perl
use Modern::Perl;
use Test::More tests => 1;
use t::lib::Mocks;
use t::lib::TestBuilder;
use C4::Reserves;
use Koha::Database;
use Koha::DateUtils;
use Koha::Holds;
my $schema = Koha::Database->new->schema;
$schema->storage->txn_begin;
subtest 'AutoUnsuspendReserves test' => sub {
plan tests => 2;
my $builder = t::lib::TestBuilder->new();
my $today = dt_from_string();
my $today_date = output_pref({ dateformat => 'sql' });
my $tomorrow_date = output_pref({ dt => $today->add(days=>1), dateformat=>'sql' });
# Reserve not expired
my $reserve1 = $builder->build({
source => 'Reserve',
value => {
expirationdate => undef,
cancellationdate => undef,
priority => 5,
found => undef,
suspend_until => $today_date,
},
});
# Reserve expired
my $reserve2 = $builder->build({
source => 'Reserve',
value => {
expirationdate => undef,
cancellationdate => undef,
priority => 6,
found => undef,
suspend_until => $tomorrow_date,
},
});
AutoUnsuspendReserves();
my $r1 = Koha::Holds->find($reserve1->{reserve_id});
my $r2 = Koha::Holds->find($reserve2->{reserve_id});
ok(!defined($r1->suspend_until), 'Reserve suspended until today should be unsuspended.');
ok(defined($r2->suspend_until), 'Reserve suspended after today should be suspended.');
};
$schema->storage->txn_rollback;