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 34-56
my $issuingrule = $schema->resultset('Issuingrule')->create(
Link Here
|
34 |
|
35 |
|
35 |
ok( $issuingrule, 'Issuing rule created' ); |
36 |
ok( $issuingrule, 'Issuing rule created' ); |
36 |
|
37 |
|
37 |
my $period_start = dt_from_string('2000-01-01'); |
38 |
my $period_start = DateTime->today; |
38 |
my $period_end = dt_from_string('2000-01-05'); |
39 |
my $period_end = DateTime->today->add(days => 4); |
39 |
|
40 |
|
40 |
my ( $fine ) = CalcFine( {}, q{}, q{}, $period_start, $period_end ); |
41 |
my ( $fine ) = CalcFine( {}, q{}, q{}, $period_start, $period_end ); |
41 |
is( $fine, 0, '4 days overdue, charge period 7 days, charge at end of interval gives fine of $0' ); |
42 |
is( $fine, 0, '4 days overdue, charge period 7 days, charge at end of interval gives fine of $0' ); |
42 |
|
43 |
|
43 |
$period_end = dt_from_string('2000-01-10'); |
44 |
$period_end = DateTime->today->add(days => 9); |
44 |
( $fine ) = CalcFine( {}, q{}, q{}, $period_start, $period_end ); |
45 |
( $fine ) = CalcFine( {}, q{}, q{}, $period_start, $period_end ); |
45 |
is( $fine, 1, '9 days overdue, charge period 7 days, charge at end of interval gives fine of $1' ); |
46 |
is( $fine, 1, '9 days overdue, charge period 7 days, charge at end of interval gives fine of $1' ); |
46 |
|
47 |
|
47 |
# Test charging fine at the *beginning* of each charge period |
48 |
# Test charging fine at the *beginning* of each charge period |
48 |
$issuingrule->update( { chargeperiod_charge_at => 1 } ); |
49 |
$issuingrule->update( { chargeperiod_charge_at => 1 } ); |
49 |
|
50 |
|
50 |
$period_end = dt_from_string('2000-01-05'); |
51 |
$period_end = DateTime->today->add(days => 4); |
51 |
( $fine ) = CalcFine( {}, q{}, q{}, $period_start, $period_end ); |
52 |
( $fine ) = CalcFine( {}, q{}, q{}, $period_start, $period_end ); |
52 |
is( $fine, 1, '4 days overdue, charge period 7 days, charge at start of interval gives fine of $1' ); |
53 |
is( $fine, 1, '4 days overdue, charge period 7 days, charge at start of interval gives fine of $1' ); |
53 |
|
54 |
|
54 |
$period_end = dt_from_string('2000-01-10'); |
55 |
$period_end = DateTime->today->add(days => 9); |
55 |
( $fine ) = CalcFine( {}, q{}, q{}, $period_start, $period_end ); |
56 |
( $fine ) = CalcFine( {}, q{}, q{}, $period_start, $period_end ); |
56 |
is( $fine, 2, '9 days overdue, charge period 7 days, charge at start of interval gives fine of $2' ); |
57 |
is( $fine, 2, '9 days overdue, charge period 7 days, charge at start of interval gives fine of $2' ); |