|
Lines 924-930
subtest 'pay() handles lost items when paying by amount ( not specifying the los
Link Here
|
| 924 |
|
924 |
|
| 925 |
subtest 'pay() renews items when appropriate' => sub { |
925 |
subtest 'pay() renews items when appropriate' => sub { |
| 926 |
|
926 |
|
| 927 |
plan tests => 1; |
927 |
plan tests => 7; |
| 928 |
|
928 |
|
| 929 |
$schema->storage->txn_begin; |
929 |
$schema->storage->txn_begin; |
| 930 |
|
930 |
|
|
Lines 975-981
subtest 'pay() renews items when appropriate' => sub {
Link Here
|
| 975 |
my $module = Test::MockModule->new('C4::Circulation'); |
975 |
my $module = Test::MockModule->new('C4::Circulation'); |
| 976 |
$module->mock('AddRenewal', sub { $called = 1; }); |
976 |
$module->mock('AddRenewal', sub { $called = 1; }); |
| 977 |
$module->mock('CanBookBeRenewed', sub { return 1; }); |
977 |
$module->mock('CanBookBeRenewed', sub { return 1; }); |
| 978 |
$account->pay( |
978 |
my $result = $account->pay( |
| 979 |
{ |
979 |
{ |
| 980 |
amount => '1', |
980 |
amount => '1', |
| 981 |
library_id => $library->id, |
981 |
library_id => $library->id, |
|
Lines 983-988
subtest 'pay() renews items when appropriate' => sub {
Link Here
|
| 983 |
); |
983 |
); |
| 984 |
|
984 |
|
| 985 |
is( $called, 1, 'RenewAccruingItemWhenPaid causes C4::Circulation::AddRenew to be called when appropriate' ); |
985 |
is( $called, 1, 'RenewAccruingItemWhenPaid causes C4::Circulation::AddRenew to be called when appropriate' ); |
|
|
986 |
is(ref($result->{renew_result}), 'ARRAY', "Pay result contains 'renew_result' ARRAY" ); |
| 987 |
is( scalar @{$result->{renew_result}}, 1, "renew_result contains one renewal result" ); |
| 988 |
is( $result->{renew_result}->[0]->{itemnumber}, $item->id, "renew_result contains itemnumber of renewed item" ); |
| 989 |
|
| 990 |
# Reset test by adding a new overdue |
| 991 |
Koha::Account::Line->new( |
| 992 |
{ |
| 993 |
issue_id => $checkout->id, |
| 994 |
borrowernumber => $patron->id, |
| 995 |
itemnumber => $item->id, |
| 996 |
date => \'NOW()', |
| 997 |
debit_type_code => 'OVERDUE', |
| 998 |
status => 'UNRETURNED', |
| 999 |
interface => 'cli', |
| 1000 |
amount => '1', |
| 1001 |
amountoutstanding => '1', |
| 1002 |
} |
| 1003 |
)->store(); |
| 1004 |
$called = 0; |
| 1005 |
|
| 1006 |
t::lib::Mocks::mock_preference( 'RenewAccruingItemWhenPaid', 0 ); |
| 1007 |
$result = $account->pay( |
| 1008 |
{ |
| 1009 |
amount => '1', |
| 1010 |
library_id => $library->id, |
| 1011 |
} |
| 1012 |
); |
| 1013 |
|
| 1014 |
is( $called, 0, 'C4::Circulation::AddRenew NOT called when RenewAccruingItemWhenPaid disabled' ); |
| 1015 |
is(ref($result->{renew_result}), 'ARRAY', "Pay result contains 'renew_result' ARRAY" ); |
| 1016 |
is( scalar @{$result->{renew_result}}, 0, "renew_result contains no renewal results" ); |
| 986 |
|
1017 |
|
| 987 |
$schema->storage->txn_rollback; |
1018 |
$schema->storage->txn_rollback; |
| 988 |
}; |
1019 |
}; |
| 989 |
- |
|
|