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

(-)a/t/db_dependent/Reserves.t (-1 / +74 lines)
Lines 1508-1514 subtest 'IsAvailableForItemLevelRequest() tests' => sub { Link Here
1508
1508
1509
subtest 'AddReserve() tests' => sub {
1509
subtest 'AddReserve() tests' => sub {
1510
1510
1511
    plan tests => 2;
1511
    plan tests => 4;
1512
1512
1513
    $schema->storage->txn_begin;
1513
    $schema->storage->txn_begin;
1514
1514
Lines 1554-1559 subtest 'AddReserve() tests' => sub { Link Here
1554
    $patron->discard_changes;
1554
    $patron->discard_changes;
1555
    isnt( $patron->lastseen, undef, "Patron activity tracked when hold is a valid trigger" );
1555
    isnt( $patron->lastseen, undef, "Patron activity tracked when hold is a valid trigger" );
1556
1556
1557
    my $reserve_id = AddReserve(
1558
        {
1559
            branchcode      => $library->branchcode,
1560
            borrowernumber  => $patron->id,
1561
            biblionumber    => $biblio->id,
1562
            expiration_date => '2040-04-02'
1563
        }
1564
    );
1565
1566
    my $hold = Koha::Holds->find($reserve_id);
1567
1568
    is( $hold->expirationdate, '2040-04-02', 'Successfully set expiration date' );
1569
1570
    $reserve_id = AddReserve(
1571
        {
1572
            branchcode             => $library->branchcode,
1573
            borrowernumber         => $patron->id,
1574
            biblionumber           => $biblio->id,
1575
            patron_expiration_date => '2040-04-02'
1576
        }
1577
    );
1578
1579
    $hold = Koha::Holds->find($reserve_id);
1580
    is( $hold->patron_expiration_date, '2040-04-02', 'Successfully set patron expiration date' );
1581
1582
    $schema->storage->txn_rollback;
1583
};
1584
1585
subtest 'ModReserve() tests' => sub {
1586
1587
    plan tests => 2;
1588
1589
    $schema->storage->txn_begin;
1590
1591
    my $library = $builder->build_object( { class => 'Koha::Libraries' } );
1592
    my $patron  = $builder->build_object( { class => 'Koha::Patrons', value => { lastseen => undef } } );
1593
    my $biblio  = $builder->build_sample_biblio;
1594
1595
    my $reserve_id = AddReserve(
1596
        {
1597
            branchcode     => $library->branchcode,
1598
            borrowernumber => $patron->id,
1599
            biblionumber   => $biblio->id,
1600
        }
1601
    );
1602
1603
    my $hold = Koha::Holds->find($reserve_id);
1604
1605
    ModReserve(
1606
        {
1607
            reserve_id     => $hold->id,
1608
            branchcode     => $hold->branchcode,
1609
            expirationdate => '2040-04-02',
1610
            rank           => $hold->priority,
1611
            reservedate    => $hold->reservedate,
1612
        }
1613
    );
1614
1615
    $hold = Koha::Holds->find($reserve_id);
1616
    is( $hold->expirationdate, '2040-04-02', 'Successfully updated expiration date' );
1617
1618
    ModReserve(
1619
        {
1620
            reserve_id             => $reserve_id,
1621
            rank                   => $hold->priority,
1622
            patron_expiration_date => '2040-04-02',
1623
            branchcode             => $hold->branchcode,
1624
        }
1625
    );
1626
1627
    $hold = Koha::Holds->find($reserve_id);
1628
    is( $hold->patron_expiration_date, '2040-04-02', 'Successfully updated patron expiration date' );
1629
1557
    $schema->storage->txn_rollback;
1630
    $schema->storage->txn_rollback;
1558
};
1631
};
1559
1632
(-)a/t/db_dependent/api/v1/holds.t (-9 / +52 lines)
Lines 1210-1216 subtest 'pickup_locations() tests' => sub { Link Here
1210
1210
1211
subtest 'edit() tests' => sub {
1211
subtest 'edit() tests' => sub {
1212
1212
1213
    plan tests => 47;
1213
    plan tests => 61;
1214
1214
1215
    $schema->storage->txn_begin;
1215
    $schema->storage->txn_begin;
1216
1216
Lines 1324-1329 subtest 'edit() tests' => sub { Link Here
1324
    is( $biblio_hold->reservedate,    '2022-01-02', 'Hold date changed correctly' );
1324
    is( $biblio_hold->reservedate,    '2022-01-02', 'Hold date changed correctly' );
1325
    is( $biblio_hold->expirationdate, '2022-03-02', 'Expiration date changed correctly' );
1325
    is( $biblio_hold->expirationdate, '2022-03-02', 'Expiration date changed correctly' );
1326
1326
1327
    $biblio_hold_data = {
1328
        patron_expiration_date => '2022-05-02',
1329
    };
1330
1331
    $t->patch_ok( "//$userid:$password@/api/v1/holds/" . $biblio_hold->id => json => $biblio_hold_data )
1332
        ->status_is(200);
1333
1334
    $biblio_hold->discard_changes;
1335
    is( $biblio_hold->patron_expiration_date, '2022-05-02', 'Patron expiration date changed correctly' );
1336
1337
    $biblio_hold_data = {
1338
        expiration_date        => '2022-07-02',
1339
        patron_expiration_date => '2022-09-02',
1340
    };
1341
1342
    $t->patch_ok( "//$userid:$password@/api/v1/holds/" . $biblio_hold->id => json => $biblio_hold_data )
1343
        ->status_is(200);
1344
1345
    $biblio_hold->discard_changes;
1346
    is( $biblio_hold->expirationdate,         '2022-07-02', 'Expiration date changed correctly' );
1347
    is( $biblio_hold->patron_expiration_date, '2022-09-02', 'Patron expiration date changed correctly' );
1348
1327
    # Test item-level holds
1349
    # Test item-level holds
1328
    my $item_hold = $builder->build_object(
1350
    my $item_hold = $builder->build_object(
1329
        {
1351
        {
Lines 1386-1391 subtest 'edit() tests' => sub { Link Here
1386
    is( $item_hold->reservedate,    '2022-01-02', 'Hold date changed correctly' );
1408
    is( $item_hold->reservedate,    '2022-01-02', 'Hold date changed correctly' );
1387
    is( $item_hold->expirationdate, '2022-03-02', 'Expiration date changed correctly' );
1409
    is( $item_hold->expirationdate, '2022-03-02', 'Expiration date changed correctly' );
1388
1410
1411
    $item_hold_data = { patron_expiration_date => '2022-05-02' };
1412
1413
    $t->patch_ok( "//$userid:$password@/api/v1/holds/" . $item_hold->id => json => $item_hold_data )->status_is(200);
1414
1415
    $item_hold->discard_changes;
1416
    is( $item_hold->patron_expiration_date, '2022-05-02', 'Patron expiration date changed correctly' );
1417
1418
    $item_hold_data = {
1419
        expiration_date        => '2022-07-02',
1420
        patron_expiration_date => '2022-09-02',
1421
    };
1422
1423
    $t->patch_ok( "//$userid:$password@/api/v1/holds/" . $item_hold->id => json => $item_hold_data )->status_is(200);
1424
1425
    $item_hold->discard_changes;
1426
    is( $item_hold->expirationdate,         '2022-07-02', 'Expiration date changed correctly' );
1427
    is( $item_hold->patron_expiration_date, '2022-09-02', 'Patron expiration date changed correctly' );
1428
1389
    $schema->storage->txn_rollback;
1429
    $schema->storage->txn_rollback;
1390
1430
1391
};
1431
};
Lines 1482-1487 subtest 'add() tests' => sub { Link Here
1482
        biblio_id         => $biblio_hold_api_data->{biblio_id},
1522
        biblio_id         => $biblio_hold_api_data->{biblio_id},
1483
        patron_id         => $biblio_hold_api_data->{patron_id},
1523
        patron_id         => $biblio_hold_api_data->{patron_id},
1484
        pickup_library_id => $library_1->branchcode,
1524
        pickup_library_id => $library_1->branchcode,
1525
        expiration_date   => '2022-11-02',
1485
    };
1526
    };
1486
1527
1487
    $t->post_ok( "//$userid:$password@/api/v1/holds" => json => $biblio_hold_data )->status_is(400)
1528
    $t->post_ok( "//$userid:$password@/api/v1/holds" => json => $biblio_hold_data )->status_is(400)
Lines 1508-1516 subtest 'add() tests' => sub { Link Here
1508
    $biblio_hold_api_data = $biblio_hold->to_api;
1549
    $biblio_hold_api_data = $biblio_hold->to_api;
1509
    $biblio_hold->delete;
1550
    $biblio_hold->delete;
1510
    $biblio_hold_data = {
1551
    $biblio_hold_data = {
1511
        biblio_id         => $biblio_hold_api_data->{biblio_id},
1552
        biblio_id              => $biblio_hold_api_data->{biblio_id},
1512
        patron_id         => $biblio_hold_api_data->{patron_id},
1553
        patron_id              => $biblio_hold_api_data->{patron_id},
1513
        pickup_library_id => $library_1->branchcode,
1554
        pickup_library_id      => $library_1->branchcode,
1555
        patron_expiration_date => '2022-11-02',
1514
    };
1556
    };
1515
1557
1516
    $t->post_ok( "//$userid:$password@/api/v1/holds" => json => $biblio_hold_data )->status_is(400)
1558
    $t->post_ok( "//$userid:$password@/api/v1/holds" => json => $biblio_hold_data )->status_is(400)
Lines 1535-1544 subtest 'add() tests' => sub { Link Here
1535
    my $item_hold_api_data = $item_hold->to_api;
1577
    my $item_hold_api_data = $item_hold->to_api;
1536
    $item_hold->delete;
1578
    $item_hold->delete;
1537
    my $item_hold_data = {
1579
    my $item_hold_data = {
1538
        biblio_id         => $item_hold_api_data->{biblio_id},
1580
        biblio_id              => $item_hold_api_data->{biblio_id},
1539
        item_id           => $item_hold_api_data->{item_id},
1581
        item_id                => $item_hold_api_data->{item_id},
1540
        patron_id         => $item_hold_api_data->{patron_id},
1582
        patron_id              => $item_hold_api_data->{patron_id},
1541
        pickup_library_id => $library_1->branchcode,
1583
        pickup_library_id      => $library_1->branchcode,
1584
        expiration_date        => '2022-11-02',
1585
        patron_expiration_date => '2022-11-02',
1542
    };
1586
    };
1543
1587
1544
    $t->post_ok( "//$userid:$password@/api/v1/holds" => json => $item_hold_data )->status_is(400)
1588
    $t->post_ok( "//$userid:$password@/api/v1/holds" => json => $item_hold_data )->status_is(400)
1545
- 

Return to bug 39419