Lines 1-6
Link Here
|
1 |
#!/usr/bin/perl |
1 |
#!/usr/bin/perl |
2 |
|
2 |
|
3 |
use Modern::Perl; |
3 |
use Modern::Perl; |
|
|
4 |
use DateTime; |
4 |
|
5 |
|
5 |
use C4::Context; |
6 |
use C4::Context; |
6 |
use C4::Overdues; |
7 |
use C4::Overdues; |
Lines 31-53
my $issuingrule = $schema->resultset('Issuingrule')->create(
Link Here
|
31 |
|
32 |
|
32 |
ok( $issuingrule, 'Issuing rule created' ); |
33 |
ok( $issuingrule, 'Issuing rule created' ); |
33 |
|
34 |
|
34 |
my $period_start = dt_from_string('2000-01-01'); |
35 |
my $period_start = dt_from_string; |
35 |
my $period_end = dt_from_string('2000-01-05'); |
36 |
my $period_end = dt_from_string->add(days => 4); |
36 |
|
37 |
|
37 |
my ( $fine ) = CalcFine( {}, q{}, q{}, $period_start, $period_end ); |
38 |
my ( $fine ) = CalcFine( {}, q{}, q{}, $period_start, $period_end ); |
38 |
is( $fine, 0, '4 days overdue, charge period 7 days, charge at end of interval gives fine of $0' ); |
39 |
is( $fine, 0, '4 days overdue, charge period 7 days, charge at end of interval gives fine of $0' ); |
39 |
|
40 |
|
40 |
$period_end = dt_from_string('2000-01-10'); |
41 |
$period_end = dt_from_string->add(days => 9); |
41 |
( $fine ) = CalcFine( {}, q{}, q{}, $period_start, $period_end ); |
42 |
( $fine ) = CalcFine( {}, q{}, q{}, $period_start, $period_end ); |
42 |
is( $fine, 1, '9 days overdue, charge period 7 days, charge at end of interval gives fine of $1' ); |
43 |
is( $fine, 1, '9 days overdue, charge period 7 days, charge at end of interval gives fine of $1' ); |
43 |
|
44 |
|
44 |
# Test charging fine at the *beginning* of each charge period |
45 |
# Test charging fine at the *beginning* of each charge period |
45 |
$issuingrule->update( { chargeperiod_charge_at => 1 } ); |
46 |
$issuingrule->update( { chargeperiod_charge_at => 1 } ); |
46 |
|
47 |
|
47 |
$period_end = dt_from_string('2000-01-05'); |
48 |
$period_end = dt_from_string->add(days => 4); |
48 |
( $fine ) = CalcFine( {}, q{}, q{}, $period_start, $period_end ); |
49 |
( $fine ) = CalcFine( {}, q{}, q{}, $period_start, $period_end ); |
49 |
is( $fine, 1, '4 days overdue, charge period 7 days, charge at start of interval gives fine of $1' ); |
50 |
is( $fine, 1, '4 days overdue, charge period 7 days, charge at start of interval gives fine of $1' ); |
50 |
|
51 |
|
51 |
$period_end = dt_from_string('2000-01-10'); |
52 |
$period_end = dt_from_string->add(days => 9); |
52 |
( $fine ) = CalcFine( {}, q{}, q{}, $period_start, $period_end ); |
53 |
( $fine ) = CalcFine( {}, q{}, q{}, $period_start, $period_end ); |
53 |
is( $fine, 2, '9 days overdue, charge period 7 days, charge at start of interval gives fine of $2' ); |
54 |
is( $fine, 2, '9 days overdue, charge period 7 days, charge at start of interval gives fine of $2' ); |