View | Details | Raw Unified | Return to bug 33887
Collapse All | Expand All

(-)a/t/db_dependent/Koha/Checkouts.t (-2 / +72 lines)
Lines 22-30 use Modern::Perl; Link Here
22
use Test::More tests => 11;
22
use Test::More tests => 11;
23
23
24
use C4::Circulation qw( MarkIssueReturned AddReturn );
24
use C4::Circulation qw( MarkIssueReturned AddReturn );
25
use C4::Reserves qw( AddReserve );
25
use Koha::Checkouts;
26
use Koha::Checkouts;
26
use Koha::Database;
27
use Koha::Database;
27
use Koha::DateUtils qw( dt_from_string );
28
use Koha::DateUtils qw( dt_from_string );
29
use Koha::Holds;
28
30
29
use t::lib::TestBuilder;
31
use t::lib::TestBuilder;
30
use t::lib::Mocks;
32
use t::lib::Mocks;
Lines 296-302 $schema->storage->txn_rollback; Link Here
296
298
297
subtest 'automatic_checkin' => sub {
299
subtest 'automatic_checkin' => sub {
298
300
299
    plan tests => 9;
301
    plan tests => 10;
300
302
301
    $schema->storage->txn_begin;
303
    $schema->storage->txn_begin;
302
304
Lines 405-409 subtest 'automatic_checkin' => sub { Link Here
405
    $searched = Koha::Old::Checkouts->find( $checkout_odue_aci->issue_id );
407
    $searched = Koha::Old::Checkouts->find( $checkout_odue_aci->issue_id );
406
    is( dt_from_string($searched->returndate), $yesterday, 'old checkout for odue_ac_item has the right return date' );
408
    is( dt_from_string($searched->returndate), $yesterday, 'old checkout for odue_ac_item has the right return date' );
407
409
410
411
    subtest 'automatic_checkin AutomaticCheckinAutoFill tests' => sub {
412
413
        plan tests => 3;
414
415
        my $checkout_2_due_ac = Koha::Checkout->new(
416
            {
417
                borrowernumber => $patron->borrowernumber,
418
                itemnumber     => $due_ac_item->itemnumber,
419
                branchcode     => $patron->branchcode,
420
                date_due       => $today
421
            }
422
        )->store;
423
424
        my $patron_2 = $builder->build_object( { class => 'Koha::Patrons', value => { branchcode => $patron->branchcode}  } );
425
        my $reserveid = AddReserve(
426
            {
427
                branchcode     => $patron->branchcode,
428
                borrowernumber => $patron_2->id,
429
                biblionumber   => $due_ac_item->biblionumber,
430
                priority       => 1
431
            }
432
        );
433
434
        t::lib::Mocks::mock_preference('AutomaticCheckinAutoFill', '0');
435
436
        Koha::Checkouts->automatic_checkin;
437
        my $reserve = Koha::Holds->find( $reserveid );
438
439
        is( $reserve->found, undef, "Hold was not filled when AutomaticCheckinAutoFill disabled");
440
441
        my $checkout_3_due_ac = Koha::Checkout->new(
442
            {
443
                borrowernumber => $patron->borrowernumber,
444
                itemnumber     => $due_ac_item->itemnumber,
445
                branchcode     => $patron->branchcode,
446
                date_due       => $today
447
            }
448
        )->store;
449
        t::lib::Mocks::mock_preference('AutomaticCheckinAutoFill', '1');
450
451
        Koha::Checkouts->automatic_checkin;
452
        $reserve->discard_changes;
453
454
        is( $reserve->found, 'W', "Hold was filled when AutomaticCheckinAutoFill enabled");
455
456
        my $checkout_2_odue_ac = Koha::Checkout->new(
457
            {
458
                borrowernumber => $patron->borrowernumber,
459
                itemnumber     => $odue_ac_item->itemnumber,
460
                branchcode     => $patron->branchcode,
461
                date_due       => $today
462
            }
463
        )->store;
464
        my $branch2 = $builder->build_object({ class=> "Koha::Libraries" });
465
        my $reserve2id = AddReserve(
466
            {
467
                branchcode     => $branch2->branchcode,
468
                borrowernumber => $patron_2->id,
469
                biblionumber   => $odue_ac_item->biblionumber,
470
                priority       => 1
471
            }
472
        );
473
        Koha::Checkouts->automatic_checkin;
474
475
        my $reserve2 = Koha::Holds->find( $reserve2id );
476
        is( $reserve2->found, 'T', "Hold was filled when AutomaticCheckinAutoFill enabled and transfer was initiated when branches didn't match");
477
    };
478
408
    $schema->storage->txn_rollback;
479
    $schema->storage->txn_rollback;
409
}
480
}
410
- 

Return to bug 33887