|
Lines 7-37
use Test::MockModule;
Link Here
|
| 7 |
use DBI; |
7 |
use DBI; |
| 8 |
use DateTime; |
8 |
use DateTime; |
| 9 |
use t::lib::Mocks; |
9 |
use t::lib::Mocks; |
| 10 |
|
10 |
use t::lib::TestBuilder; |
| 11 |
BEGIN { |
|
|
| 12 |
t::lib::Mocks::mock_dbh; |
| 13 |
} |
| 14 |
|
11 |
|
| 15 |
use_ok('C4::Circulation'); |
12 |
use_ok('C4::Circulation'); |
| 16 |
|
13 |
|
| 17 |
my $dbh = C4::Context->dbh(); |
14 |
my $schema = Koha::Database->new->schema; |
|
|
15 |
$schema->storage->txn_begin; |
| 16 |
my $builder = t::lib::TestBuilder->new; |
| 18 |
|
17 |
|
|
|
18 |
my $categorycode = 'B'; |
| 19 |
my $itemtype = 'MX'; |
| 20 |
my $branchcode = 'FPL'; |
| 19 |
my $issuelength = 10; |
21 |
my $issuelength = 10; |
| 20 |
my $renewalperiod = 5; |
22 |
my $renewalperiod = 5; |
| 21 |
my $lengthunit = 'days'; |
23 |
my $lengthunit = 'days'; |
| 22 |
|
24 |
|
| 23 |
my $mock_undef = [ |
25 |
Koha::Database->schema->resultset('Issuingrule')->create({ |
| 24 |
[] |
26 |
categorycode => $categorycode, |
| 25 |
]; |
27 |
itemtype => $itemtype, |
| 26 |
|
28 |
branchcode => $branchcode, |
| 27 |
my $mock_loan_length = [ |
29 |
issuelength => $issuelength, |
| 28 |
['issuelength', 'renewalperiod', 'lengthunit'], |
30 |
renewalperiod => $renewalperiod, |
| 29 |
[$issuelength, $renewalperiod, $lengthunit] |
31 |
lengthunit => $lengthunit, |
| 30 |
]; |
32 |
}); |
| 31 |
|
|
|
| 32 |
my $categorycode = 'B'; |
| 33 |
my $itemtype = 'MX'; |
| 34 |
my $branchcode = 'FPL'; |
| 35 |
|
33 |
|
| 36 |
#Set syspref ReturnBeforeExpiry = 1 and useDaysMode = 'Days' |
34 |
#Set syspref ReturnBeforeExpiry = 1 and useDaysMode = 'Days' |
| 37 |
t::lib::Mocks::mock_preference('ReturnBeforeExpiry', 1); |
35 |
t::lib::Mocks::mock_preference('ReturnBeforeExpiry', 1); |
|
Lines 41-50
my $dateexpiry = '2013-01-01';
Link Here
|
| 41 |
|
39 |
|
| 42 |
my $borrower = {categorycode => 'B', dateexpiry => $dateexpiry}; |
40 |
my $borrower = {categorycode => 'B', dateexpiry => $dateexpiry}; |
| 43 |
my $start_date = DateTime->new({year => 2013, month => 2, day => 9}); |
41 |
my $start_date = DateTime->new({year => 2013, month => 2, day => 9}); |
| 44 |
$dbh->{mock_add_resultset} = $mock_loan_length; |
|
|
| 45 |
my $date = C4::Circulation::CalcDateDue( $start_date, $itemtype, $branchcode, $borrower ); |
42 |
my $date = C4::Circulation::CalcDateDue( $start_date, $itemtype, $branchcode, $borrower ); |
| 46 |
is($date, $dateexpiry . 'T23:59:00', 'date expiry'); |
43 |
is($date, $dateexpiry . 'T23:59:00', 'date expiry'); |
| 47 |
$dbh->{mock_add_resultset} = $mock_loan_length; |
|
|
| 48 |
$date = C4::Circulation::CalcDateDue( $start_date, $itemtype, $branchcode, $borrower, 1 ); |
44 |
$date = C4::Circulation::CalcDateDue( $start_date, $itemtype, $branchcode, $borrower, 1 ); |
| 49 |
|
45 |
|
| 50 |
|
46 |
|
|
Lines 54-64
t::lib::Mocks::mock_preference('useDaysMode', 'noDays');
Link Here
|
| 54 |
|
50 |
|
| 55 |
$borrower = {categorycode => 'B', dateexpiry => $dateexpiry}; |
51 |
$borrower = {categorycode => 'B', dateexpiry => $dateexpiry}; |
| 56 |
$start_date = DateTime->new({year => 2013, month => 2, day => 9}); |
52 |
$start_date = DateTime->new({year => 2013, month => 2, day => 9}); |
| 57 |
$dbh->{mock_add_resultset} = $mock_loan_length; |
|
|
| 58 |
$date = C4::Circulation::CalcDateDue( $start_date, $itemtype, $branchcode, $borrower ); |
53 |
$date = C4::Circulation::CalcDateDue( $start_date, $itemtype, $branchcode, $borrower ); |
| 59 |
is($date, $dateexpiry . 'T23:59:00', 'date expiry'); |
54 |
is($date, $dateexpiry . 'T23:59:00', 'date expiry'); |
| 60 |
|
55 |
|
| 61 |
$dbh->{mock_add_resultset} = $mock_loan_length; |
|
|
| 62 |
$date = C4::Circulation::CalcDateDue( $start_date, $itemtype, $branchcode, $borrower, 1 ); |
56 |
$date = C4::Circulation::CalcDateDue( $start_date, $itemtype, $branchcode, $borrower, 1 ); |
| 63 |
|
57 |
|
| 64 |
|
58 |
|
|
Lines 68-77
t::lib::Mocks::mock_preference('useDaysMode', 'Days');
Link Here
|
| 68 |
|
62 |
|
| 69 |
$borrower = {categorycode => 'B', dateexpiry => $dateexpiry}; |
63 |
$borrower = {categorycode => 'B', dateexpiry => $dateexpiry}; |
| 70 |
$start_date = DateTime->new({year => 2013, month => 2, day => 9}); |
64 |
$start_date = DateTime->new({year => 2013, month => 2, day => 9}); |
| 71 |
$dbh->{mock_add_resultset} = $mock_loan_length; |
|
|
| 72 |
$date = C4::Circulation::CalcDateDue( $start_date, $itemtype, $branchcode, $borrower ); |
65 |
$date = C4::Circulation::CalcDateDue( $start_date, $itemtype, $branchcode, $borrower ); |
| 73 |
is($date, '2013-02-' . (9 + $issuelength) . 'T23:59:00', "date expiry ( 9 + $issuelength )"); |
66 |
is($date, '2013-02-' . (9 + $issuelength) . 'T23:59:00', "date expiry ( 9 + $issuelength )"); |
| 74 |
|
67 |
|
| 75 |
$dbh->{mock_add_resultset} = $mock_loan_length; |
|
|
| 76 |
$date = C4::Circulation::CalcDateDue( $start_date, $itemtype, $branchcode, $borrower, 1 ); |
68 |
$date = C4::Circulation::CalcDateDue( $start_date, $itemtype, $branchcode, $borrower, 1 ); |
| 77 |
is($date, '2013-02-' . (9 + $renewalperiod) . 'T23:59:00', "date expiry ( 9 + $renewalperiod )"); |
69 |
is($date, '2013-02-' . (9 + $renewalperiod) . 'T23:59:00', "date expiry ( 9 + $renewalperiod )"); |
|
|
70 |
|
| 71 |
$schema->storage->txn_rollback; |