|
Lines 262-302
subtest 'Koha::Old::Checkouts->filter_by_todays_checkins' => sub {
Link Here
|
| 262 |
$schema->storage->txn_rollback; |
262 |
$schema->storage->txn_rollback; |
| 263 |
|
263 |
|
| 264 |
subtest 'automatic_checkin' => sub { |
264 |
subtest 'automatic_checkin' => sub { |
| 265 |
plan tests => 6; |
265 |
|
|
|
266 |
plan tests => 9; |
| 266 |
|
267 |
|
| 267 |
$schema->storage->txn_begin; |
268 |
$schema->storage->txn_begin; |
| 268 |
|
269 |
|
| 269 |
my $patron = $builder->build_object( { class => 'Koha::Patrons' } ); |
270 |
my $patron = $builder->build_object( { class => 'Koha::Patrons' } ); |
| 270 |
|
271 |
|
| 271 |
my $due_ac_item = |
272 |
my $due_ac_item = |
| 272 |
$builder->build_sample_item( { homebranch => $patron->branchcode } ); |
273 |
$builder->build_sample_item( |
|
|
274 |
{ homebranch => $patron->branchcode, itemlost => 0 } ); |
| 273 |
my $ac_item = |
275 |
my $ac_item = |
| 274 |
$builder->build_sample_item( { homebranch => $patron->branchcode } ); |
276 |
$builder->build_sample_item( |
|
|
277 |
{ homebranch => $patron->branchcode, itemlost => 0 } ); |
| 278 |
my $odue_ac_item = |
| 279 |
$builder->build_sample_item( |
| 280 |
{ homebranch => $patron->branchcode, itemlost => 0 } ); |
| 275 |
my $normal_item = |
281 |
my $normal_item = |
| 276 |
$builder->build_sample_item( { homebranch => $patron->branchcode } ); |
282 |
$builder->build_sample_item( |
|
|
283 |
{ homebranch => $patron->branchcode, itemlost => 0 } ); |
| 277 |
|
284 |
|
| 278 |
$due_ac_item->itemtype->automatic_checkin(1)->store; |
285 |
$due_ac_item->itemtype->automatic_checkin(1)->store; |
|
|
286 |
$odue_ac_item->itemtype->automatic_checkin(1)->store; |
| 279 |
$ac_item->itemtype->automatic_checkin(1)->store; |
287 |
$ac_item->itemtype->automatic_checkin(1)->store; |
| 280 |
$normal_item->itemtype->automatic_checkin(0)->store; |
288 |
$normal_item->itemtype->automatic_checkin(0)->store; |
| 281 |
|
289 |
|
| 282 |
my $current_date = dt_from_string; |
290 |
my $today = dt_from_string; |
|
|
291 |
my $tomorrow = dt_from_string->add( days => 1 ); |
| 292 |
my $yesterday = dt_from_string->subtract( days => 1 ); |
| 283 |
|
293 |
|
| 284 |
# due checkout for automatic checkin |
294 |
# Checkout do for automatic checkin |
| 285 |
my $checkout_due_aci = Koha::Checkout->new( |
295 |
my $checkout_due_aci = Koha::Checkout->new( |
| 286 |
{ |
296 |
{ |
| 287 |
borrowernumber => $patron->borrowernumber, |
297 |
borrowernumber => $patron->borrowernumber, |
| 288 |
itemnumber => $due_ac_item->itemnumber, |
298 |
itemnumber => $due_ac_item->itemnumber, |
| 289 |
branchcode => $patron->branchcode, |
299 |
branchcode => $patron->branchcode, |
| 290 |
date_due => $current_date, |
300 |
date_due => $today, |
|
|
301 |
} |
| 302 |
)->store; |
| 303 |
|
| 304 |
# Checkout not due for automatic checkin |
| 305 |
my $checkout_odue_aci = Koha::Checkout->new( |
| 306 |
{ |
| 307 |
borrowernumber => $patron->borrowernumber, |
| 308 |
itemnumber => $odue_ac_item->itemnumber, |
| 309 |
branchcode => $patron->branchcode, |
| 310 |
date_due => $yesterday |
| 291 |
} |
311 |
} |
| 292 |
)->store; |
312 |
)->store; |
| 293 |
|
313 |
|
| 294 |
# in time checkout for automatic checkin |
314 |
# Checkout not due for automatic checkin |
| 295 |
my $checkout_aci = Koha::Checkout->new( |
315 |
my $checkout_aci = Koha::Checkout->new( |
| 296 |
{ |
316 |
{ |
| 297 |
borrowernumber => $patron->borrowernumber, |
317 |
borrowernumber => $patron->borrowernumber, |
| 298 |
itemnumber => $ac_item->itemnumber, |
318 |
itemnumber => $ac_item->itemnumber, |
| 299 |
branchcode => $patron->branchcode, |
319 |
branchcode => $patron->branchcode, |
|
|
320 |
date_due => $tomorrow |
| 300 |
} |
321 |
} |
| 301 |
)->store; |
322 |
)->store; |
| 302 |
|
323 |
|
|
Lines 306-312
subtest 'automatic_checkin' => sub {
Link Here
|
| 306 |
borrowernumber => $patron->borrowernumber, |
327 |
borrowernumber => $patron->borrowernumber, |
| 307 |
itemnumber => $normal_item->itemnumber, |
328 |
itemnumber => $normal_item->itemnumber, |
| 308 |
branchcode => $patron->branchcode, |
329 |
branchcode => $patron->branchcode, |
| 309 |
date_due => $current_date, |
330 |
date_due => $today, |
| 310 |
} |
331 |
} |
| 311 |
)->store; |
332 |
)->store; |
| 312 |
|
333 |
|
|
Lines 325-330
subtest 'automatic_checkin' => sub {
Link Here
|
| 325 |
'checkout for due_ac_item exists' |
346 |
'checkout for due_ac_item exists' |
| 326 |
); |
347 |
); |
| 327 |
|
348 |
|
|
|
349 |
$searched = Koha::Checkouts->find( $checkout_odue_aci->issue_id ); |
| 350 |
is( |
| 351 |
$searched->issue_id, |
| 352 |
$checkout_odue_aci->issue_id, |
| 353 |
'checkout for odue_ac_item exists' |
| 354 |
); |
| 355 |
|
| 328 |
Koha::Checkouts->automatic_checkin; |
356 |
Koha::Checkouts->automatic_checkin; |
| 329 |
|
357 |
|
| 330 |
$searched = Koha::Checkouts->find( $checkout_ni->issue_id ); |
358 |
$searched = Koha::Checkouts->find( $checkout_ni->issue_id ); |
|
Lines 338-342
subtest 'automatic_checkin' => sub {
Link Here
|
| 338 |
$searched = Koha::Checkouts->find( $checkout_due_aci->issue_id ); |
366 |
$searched = Koha::Checkouts->find( $checkout_due_aci->issue_id ); |
| 339 |
is( $searched, undef, 'checkout for due_ac_item doesn\'t exist anymore' ); |
367 |
is( $searched, undef, 'checkout for due_ac_item doesn\'t exist anymore' ); |
| 340 |
|
368 |
|
|
|
369 |
$searched = Koha::Checkouts->find( $checkout_odue_aci->issue_id ); |
| 370 |
is( $searched, undef, 'checkout for odue_ac_item doesn\'t exist anymore' ); |
| 371 |
|
| 372 |
$searched = Koha::Old::Checkouts->find( $checkout_odue_aci->issue_id ); |
| 373 |
is( dt_from_string($searched->returndate), $yesterday, 'old checkout for odue_ac_item has the right return date' ); |
| 374 |
|
| 341 |
$schema->storage->txn_rollback; |
375 |
$schema->storage->txn_rollback; |
| 342 |
} |
376 |
} |
| 343 |
- |
|
|