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

(-)a/t/db_dependent/Circulation.t (-3 / +80 lines)
Lines 27-33 use C4::Overdues qw(UpdateFine); Link Here
27
use Koha::DateUtils;
27
use Koha::DateUtils;
28
use Koha::Database;
28
use Koha::Database;
29
29
30
use Test::More tests => 61;
30
use Test::More tests => 70 ;
31
31
32
BEGIN {
32
BEGIN {
33
    use_ok('C4::Circulation');
33
    use_ok('C4::Circulation');
Lines 234-239 C4::Context->dbh->do("DELETE FROM accountlines"); Link Here
234
        $biblionumber
234
        $biblionumber
235
    );
235
    );
236
236
237
238
239
237
    # Create borrowers
240
    # Create borrowers
238
    my %renewing_borrower_data = (
241
    my %renewing_borrower_data = (
239
        firstname =>  'John',
242
        firstname =>  'John',
Lines 256-266 C4::Context->dbh->do("DELETE FROM accountlines"); Link Here
256
        branchcode => $branch,
259
        branchcode => $branch,
257
    );
260
    );
258
261
262
    my %restricted_borrower_data = (
263
        firstname =>  'Alice',
264
        surname => 'Reservation',
265
        categorycode => 'S',
266
        debarred => '3228-01-01',
267
        branchcode => $branch,
268
    );
269
259
    my $renewing_borrowernumber = AddMember(%renewing_borrower_data);
270
    my $renewing_borrowernumber = AddMember(%renewing_borrower_data);
260
    my $reserving_borrowernumber = AddMember(%reserving_borrower_data);
271
    my $reserving_borrowernumber = AddMember(%reserving_borrower_data);
261
    my $hold_waiting_borrowernumber = AddMember(%hold_waiting_borrower_data);
272
    my $hold_waiting_borrowernumber = AddMember(%hold_waiting_borrower_data);
273
    my $restricted_borrowernumber = AddMember(%restricted_borrower_data);
262
274
263
    my $renewing_borrower = GetMember( borrowernumber => $renewing_borrowernumber );
275
    my $renewing_borrower = GetMember( borrowernumber => $renewing_borrowernumber );
276
    my $restricted_borrower = GetMember( borrowernumber => $restricted_borrowernumber );
264
277
265
    my $constraint     = 'a';
278
    my $constraint     = 'a';
266
    my $bibitems       = '';
279
    my $bibitems       = '';
Lines 279-284 C4::Context->dbh->do("DELETE FROM accountlines"); Link Here
279
    $datedue = dt_from_string( $issue->date_due() );
292
    $datedue = dt_from_string( $issue->date_due() );
280
    is (defined $issue2, 1, "Item 2 checked out, due date: " . $issue2->date_due());
293
    is (defined $issue2, 1, "Item 2 checked out, due date: " . $issue2->date_due());
281
294
295
282
    my $borrowing_borrowernumber = GetItemIssue($itemnumber)->{borrowernumber};
296
    my $borrowing_borrowernumber = GetItemIssue($itemnumber)->{borrowernumber};
283
    is ($borrowing_borrowernumber, $renewing_borrowernumber, "Item checked out to $renewing_borrower->{firstname} $renewing_borrower->{surname}");
297
    is ($borrowing_borrowernumber, $renewing_borrowernumber, "Item checked out to $renewing_borrower->{firstname} $renewing_borrower->{surname}");
284
298
Lines 374-379 C4::Context->dbh->do("DELETE FROM accountlines"); Link Here
374
388
375
    # FIXME: Add more for itemtype not for loan etc.
389
    # FIXME: Add more for itemtype not for loan etc.
376
390
391
    # Restricted users cannot renew when RestrictionBlockRenewing is enabled
392
    my $barcode5 = 'R00000347';
393
    my ( $item_bibnum5, $item_bibitemnum5, $itemnumber5 ) = AddItem(
394
        {
395
            homebranch       => $branch,
396
            holdingbranch    => $branch,
397
            barcode          => $barcode5,
398
            replacementprice => 23.00
399
        },
400
        $biblionumber
401
    );
402
    my $datedue5 = AddIssue($restricted_borrower, $barcode5);
403
    is (defined $datedue5, 1, "Item with date due checked out, due date: $datedue5");
404
405
    C4::Context->set_preference('RestrictionBlockRenewing','1');
406
    ( $renewokay, $error ) = CanBookBeRenewed($renewing_borrowernumber, $itemnumber2);
407
    is( $renewokay, 1, '(Bug 8236), Can renew, user is not restricted');
408
    ( $renewokay, $error ) = CanBookBeRenewed($restricted_borrowernumber, $itemnumber5);
409
    is( $renewokay, 0, '(Bug 8236), Cannot renew, user is restricted');
410
411
    # Users cannot renew an overdue item
412
    my $barcode6 = 'R00000348';
413
    my ( $item_bibnum6, $item_bibitemnum6, $itemnumber6 ) = AddItem(
414
        {
415
            homebranch       => $branch,
416
            holdingbranch    => $branch,
417
            barcode          => $barcode6,
418
            replacementprice => 23.00
419
        },
420
        $biblionumber
421
    );
422
423
    my $barcode7 = 'R00000349';
424
    my ( $item_bibnum7, $item_bibitemnum7, $itemnumber7 ) = AddItem(
425
        {
426
            homebranch       => $branch,
427
            holdingbranch    => $branch,
428
            barcode          => $barcode7,
429
            replacementprice => 23.00
430
        },
431
        $biblionumber
432
    );
433
    my $datedue6 = AddIssue( $renewing_borrower, $barcode6);
434
    is (defined $datedue6, 1, "Item 2 checked out, due date: $datedue6");
435
436
    my $passeddatedue1 = AddIssue($renewing_borrower, $barcode7, DateTime->from_epoch(epoch => 1));
437
    is (defined $passeddatedue1, 1, "Item with passed date due checked out, due date: $passeddatedue1");
438
439
440
    C4::Context->set_preference('OverduesBlockRenewing','blockitem');
441
    ( $renewokay, $error ) = CanBookBeRenewed($renewing_borrowernumber, $itemnumber6);
442
    is( $renewokay, 1, '(Bug 8236), Can renew, this item is not overdue');
443
    ( $renewokay, $error ) = CanBookBeRenewed($renewing_borrowernumber, $itemnumber7);
444
    is( $renewokay, 0, '(Bug 8236), Cannot renew, this item is overdue');
445
446
377
    $reserveid = C4::Reserves::GetReserveId({ biblionumber => $biblionumber, itemnumber => $itemnumber, borrowernumber => $reserving_borrowernumber});
447
    $reserveid = C4::Reserves::GetReserveId({ biblionumber => $biblionumber, itemnumber => $itemnumber, borrowernumber => $reserving_borrowernumber});
378
    CancelReserve({ reserve_id => $reserveid });
448
    CancelReserve({ reserve_id => $reserveid });
379
449
Lines 469-475 C4::Context->dbh->do("DELETE FROM accountlines"); Link Here
469
    $future->add( days => 7 );
539
    $future->add( days => 7 );
470
    my $units = C4::Overdues::get_chargeable_units('days', $future, $now, 'MPL');
540
    my $units = C4::Overdues::get_chargeable_units('days', $future, $now, 'MPL');
471
    ok( $units == 0, '_get_chargeable_units returns 0 for items not past due date (Bug 12596)' );
541
    ok( $units == 0, '_get_chargeable_units returns 0 for items not past due date (Bug 12596)' );
472
}
542
543
    # Users cannot renew any item if there is an overdue item
544
    C4::Context->set_preference('OverduesBlockRenewing','block');
545
    ( $renewokay, $error ) = CanBookBeRenewed($renewing_borrowernumber, $itemnumber6);
546
    is( $renewokay, 0, '(Bug 8236), Cannot renew, one of the items is overdue');
547
    ( $renewokay, $error ) = CanBookBeRenewed($renewing_borrowernumber, $itemnumber7);
548
    is( $renewokay, 0, '(Bug 8236), Cannot renew, one of the items is overdue');
549
550
  }
473
551
474
{
552
{
475
    # GetUpcomingDueIssues tests
553
    # GetUpcomingDueIssues tests
476
- 

Return to bug 8236