|
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 = dt_from_string; |
| 38 |
my $period_end = dt_from_string('2000-01-05'); |
39 |
my $period_end = dt_from_string->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 = dt_from_string->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 = dt_from_string->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 = dt_from_string->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' ); |