Koha/t/db_dependent/Fines.t
Jonathan Druart f1f9c6dc74 Bug 26384: Fix executable flags
.pm must not have -x
.t must have -x
.pl must have -x

Test plan:
Apply only the first patch, run the tests and confirm that the failures
make sense
Apply this patch and confirm that the test now returns green

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2020-09-11 09:56:56 +02:00

64 lines
1.9 KiB
Perl
Executable file

#!/usr/bin/perl
use Modern::Perl;
use C4::Context;
use C4::Overdues;
use Koha::Database;
use Koha::DateUtils;
use Test::More tests => 5;
my $schema = Koha::Database->new->schema;
$schema->storage->txn_begin;
my $dbh = C4::Context->dbh;
$dbh->do(q|DELETE FROM circulation_rules|);
my $issuingrule = Koha::CirculationRules->set_rules(
{
categorycode => undef,
itemtype => undef,
branchcode => undef,
rules => {
fine => 1,
finedays => 0,
chargeperiod => 7,
chargeperiod_charge_at => 0,
lengthunit => 'days',
issuelength => 1,
}
}
);
ok( $issuingrule, 'Issuing rule created' );
my $period_start = dt_from_string('2000-01-01');
my $period_end = dt_from_string('2000-01-05');
my ( $fine ) = CalcFine( {}, q{}, q{}, $period_start, $period_end );
is( $fine, 0, '4 days overdue, charge period 7 days, charge at end of interval gives fine of $0' );
$period_end = dt_from_string('2000-01-10');
( $fine ) = CalcFine( {}, q{}, q{}, $period_start, $period_end );
is( $fine, 1, '9 days overdue, charge period 7 days, charge at end of interval gives fine of $1' );
# Test charging fine at the *beginning* of each charge period
$issuingrule = Koha::CirculationRules->set_rules(
{
categorycode => undef,
itemtype => undef,
branchcode => undef,
rules => {
chargeperiod_charge_at => 1,
}
}
);
$period_end = dt_from_string('2000-01-05');
( $fine ) = CalcFine( {}, q{}, q{}, $period_start, $period_end );
is( $fine, 1, '4 days overdue, charge period 7 days, charge at start of interval gives fine of $1' );
$period_end = dt_from_string('2000-01-10');
( $fine ) = CalcFine( {}, q{}, q{}, $period_start, $period_end );
is( $fine, 2, '9 days overdue, charge period 7 days, charge at start of interval gives fine of $2' );