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

(-)a/t/db_dependent/Koha/Booking.t (-2 / +60 lines)
Lines 20-26 Link Here
20
use Modern::Perl;
20
use Modern::Perl;
21
use utf8;
21
use utf8;
22
22
23
use Test::More tests => 2;
23
use Test::More tests => 3;
24
24
25
use Test::Exception;
25
use Test::Exception;
26
26
Lines 324-326 subtest 'store() tests' => sub { Link Here
324
324
325
    $schema->storage->txn_rollback;
325
    $schema->storage->txn_rollback;
326
};
326
};
327
- 
327
328
subtest 'delete() tests' => sub {
329
    plan tests => 3;
330
331
    $schema->storage->txn_begin;
332
333
    my $patron                 = $builder->build_object( { class => 'Koha::Patrons' } );
334
    my $biblio                 = $builder->build_sample_biblio;
335
    my $item_1                 = $builder->build_sample_item( { biblionumber => $biblio->biblionumber } );
336
    my $start_0                = dt_from_string->subtract( days => 2 )->truncate( to => 'day' );
337
    my $end_0                  = $start_0->clone->add( days => 6 );
338
    my $original_notices_count = Koha::Notice::Messages->search(
339
        {
340
            letter_code    => 'BOOKING_CANCELLATION',
341
            borrowernumber => $patron->borrowernumber,
342
        }
343
    )->count;
344
345
    $item_1->bookable(1)->store;
346
347
    my $booking = Koha::Booking->new(
348
        {
349
            patron_id         => $patron->borrowernumber,
350
            biblio_id         => $biblio->biblionumber,
351
            item_id           => $item_1->itemnumber,
352
            pickup_library_id => $item_1->homebranch,
353
            start_date        => $start_0,
354
            end_date          => $end_0
355
        }
356
    )->store;
357
358
    my $deleted = $booking->delete;
359
    is(
360
        ref($deleted), 'Koha::Booking',
361
        'Koha::Booking->delete should return the Koha::Booking object if the booking has been correctly deleted'
362
    );
363
    is(
364
        Koha::Bookings->search( { booking_id => $booking->booking_id } )->count, 0,
365
        'Koha::Booking->delete should have deleted the booking'
366
    );
367
368
    subtest 'notice trigger' => sub {
369
        plan tests => 1;
370
371
        my $post_notices_count = Koha::Notice::Messages->search(
372
            {
373
                letter_code    => 'BOOKING_CANCELLATION',
374
                borrowernumber => $patron->borrowernumber,
375
            }
376
        )->count;
377
        is(
378
            $post_notices_count,
379
            $original_notices_count + 1,
380
            'Koha::Booking->delete should have enqueued a BOOKING_CANCELLATION email'
381
        );
382
    };
383
384
    $schema->storage->txn_rollback;
385
};

Return to bug 36915