|
Lines 17-23
Link Here
|
| 17 |
|
17 |
|
| 18 |
use Modern::Perl; |
18 |
use Modern::Perl; |
| 19 |
|
19 |
|
| 20 |
use Test::More tests => 112; |
20 |
use Test::More tests => 114; |
| 21 |
|
21 |
|
| 22 |
use DateTime; |
22 |
use DateTime; |
| 23 |
|
23 |
|
|
Lines 222-227
C4::Context->dbh->do("DELETE FROM accountlines");
Link Here
|
| 222 |
|
222 |
|
| 223 |
my ($biblionumber, $biblioitemnumber) = AddBiblio($biblio, ''); |
223 |
my ($biblionumber, $biblioitemnumber) = AddBiblio($biblio, ''); |
| 224 |
|
224 |
|
|
|
225 |
|
| 225 |
my $barcode = 'R00000342'; |
226 |
my $barcode = 'R00000342'; |
| 226 |
my $branch = $library2->{branchcode}; |
227 |
my $branch = $library2->{branchcode}; |
| 227 |
|
228 |
|
|
Lines 318-323
C4::Context->dbh->do("DELETE FROM accountlines");
Link Here
|
| 318 |
my $borrowing_borrowernumber = Koha::Checkouts->find( { itemnumber => $itemnumber } )->borrowernumber; |
319 |
my $borrowing_borrowernumber = Koha::Checkouts->find( { itemnumber => $itemnumber } )->borrowernumber; |
| 319 |
is ($borrowing_borrowernumber, $renewing_borrowernumber, "Item checked out to $renewing_borrower->{firstname} $renewing_borrower->{surname}"); |
320 |
is ($borrowing_borrowernumber, $renewing_borrowernumber, "Item checked out to $renewing_borrower->{firstname} $renewing_borrower->{surname}"); |
| 320 |
|
321 |
|
|
|
322 |
t::lib::Mocks::mock_preference('CircControl', 'PatronLibrary'); |
| 321 |
my ( $renewokay, $error ) = CanBookBeRenewed($renewing_borrowernumber, $itemnumber, 1); |
323 |
my ( $renewokay, $error ) = CanBookBeRenewed($renewing_borrowernumber, $itemnumber, 1); |
| 322 |
is( $renewokay, 1, 'Can renew, no holds for this title or item'); |
324 |
is( $renewokay, 1, 'Can renew, no holds for this title or item'); |
| 323 |
|
325 |
|
|
Lines 1100-1105
C4::Context->dbh->do("DELETE FROM accountlines");
Link Here
|
| 1100 |
} |
1102 |
} |
| 1101 |
|
1103 |
|
| 1102 |
{ |
1104 |
{ |
|
|
1105 |
# Don't allow renewing on reserve period with PreventCheckoutOnSameReservePeriod enabled |
| 1106 |
t::lib::Mocks::mock_preference( 'PreventCheckoutOnSameReservePeriod', 1 ); |
| 1107 |
|
| 1108 |
my $start_issue_dt = DateTime->now(); |
| 1109 |
$start_issue_dt->subtract( days => 15); |
| 1110 |
my $due_date = $start_issue_dt->clone; |
| 1111 |
$due_date->add( days => 17 ); |
| 1112 |
|
| 1113 |
my $biblio = $builder->build({ |
| 1114 |
source => 'Biblio', |
| 1115 |
}); |
| 1116 |
my $biblionumber = $biblio->{biblionumber}; |
| 1117 |
|
| 1118 |
my $item = $builder->build({ |
| 1119 |
source => 'Item', |
| 1120 |
value => { |
| 1121 |
biblionumber => $biblionumber |
| 1122 |
} |
| 1123 |
}); |
| 1124 |
my $itemnumber = $item->{itemnumber}; |
| 1125 |
|
| 1126 |
my $issue = $builder->build({ |
| 1127 |
source => 'Issue', |
| 1128 |
value => { |
| 1129 |
itemnumber => $itemnumber, |
| 1130 |
biblionumber => $biblionumber, |
| 1131 |
issuedate => $start_issue_dt->ymd, |
| 1132 |
date_due => $due_date->ymd, |
| 1133 |
onsite_checkout => 0 |
| 1134 |
} |
| 1135 |
}); |
| 1136 |
|
| 1137 |
my $reservedate = $due_date->clone; |
| 1138 |
$reservedate->add( days => 5 ); |
| 1139 |
my $expirationdate = $reservedate->clone; |
| 1140 |
$expirationdate->add( days => 15 ); |
| 1141 |
$builder->build({ |
| 1142 |
source => 'Reserve', |
| 1143 |
value => { |
| 1144 |
biblionumber => $biblionumber, |
| 1145 |
itemnumber => $itemnumber, |
| 1146 |
reservedate => $reservedate->ymd, |
| 1147 |
expirationdate => $expirationdate->ymd |
| 1148 |
} |
| 1149 |
}); |
| 1150 |
|
| 1151 |
my $requested_date_due = $due_date->clone; |
| 1152 |
$requested_date_due->add( days => 4 ); |
| 1153 |
my ( $renewed, $error ) = CanBookBeRenewed( $issue->{borrowernumber}, $itemnumber, 1, $requested_date_due ); |
| 1154 |
is( $renewed, 1, 'CanBookBeRenewed should allow to renew if no reserve date overlap' ); |
| 1155 |
|
| 1156 |
$requested_date_due->add( days => 2 ); |
| 1157 |
( $renewed, $error ) = CanBookBeRenewed( $issue->{borrowernumber}, $itemnumber, 1, $requested_date_due ); |
| 1158 |
is( $renewed, 0, 'CanBookBeRenewed should not allow to renew if reserve date overlap' ); |
| 1159 |
|
| 1160 |
t::lib::Mocks::mock_preference( 'PreventCheckoutOnSameReservePeriod', 0 ); |
| 1161 |
} |
| 1162 |
|
| 1163 |
{ |
| 1103 |
my $library = $builder->build({ source => 'Branch' }); |
1164 |
my $library = $builder->build({ source => 'Branch' }); |
| 1104 |
|
1165 |
|
| 1105 |
my $biblio = MARC::Record->new(); |
1166 |
my $biblio = MARC::Record->new(); |
| 1106 |
- |
|
|