| 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 => 31; | 23 | use Test::More tests => 32; | 
        
          | 24 | use Test::Exception; | 24 | use Test::Exception; | 
        
          | 25 | use Test::MockModule; | 25 | use Test::MockModule; | 
        
          | 26 |  | 26 |  | 
  
    | Lines 2362-2364
          subtest 'location_update_trigger() tests' => sub {
      
      
        Link Here | 
        
          | 2362 |  | 2362 |  | 
        
          | 2363 |     $schema->storage->txn_rollback; | 2363 |     $schema->storage->txn_rollback; | 
        
          | 2364 | }; | 2364 | }; | 
          
            
              | 2365 | -  | 2365 |  | 
            
              |  |  | 2366 | subtest 'bookings' => sub { | 
            
              | 2367 |     plan tests => 4; | 
            
              | 2368 |  | 
            
              | 2369 |     $schema->storage->txn_begin; | 
            
              | 2370 |  | 
            
              | 2371 |     my $biblio = $builder->build_sample_biblio(); | 
            
              | 2372 |     my $item   = $builder->build_sample_item( { biblionumber => $biblio->biblionumber, bookable => 1 } ); | 
            
              | 2373 |     is( ref( $item->bookings() ), 'Koha::Bookings', "Koha::Item->bookings() returns a Koha::Bookings object" ); | 
            
              | 2374 |     is( $item->bookings->count,   0,                "Nothing returned if there are no bookings" ); | 
            
              | 2375 |  | 
            
              | 2376 |     my $start_1 = dt_from_string()->subtract( days => 7 ); | 
            
              | 2377 |     my $end_1   = dt_from_string()->subtract( days => 1 ); | 
            
              | 2378 |     my $start_2 = dt_from_string(); | 
            
              | 2379 |     my $end_2   = dt_from_string()->add( days => 7 ); | 
            
              | 2380 |     my $start_3 = dt_from_string()->add( days => 8 ); | 
            
              | 2381 |     my $end_3   = dt_from_string()->add( days => 16 ); | 
            
              | 2382 |  | 
            
              | 2383 |     my $booking1 = $builder->build_object( | 
            
              | 2384 |         { | 
            
              | 2385 |             class => 'Koha::Bookings', | 
            
              | 2386 |             value => { item_id => $item->itemnumber, start_date => $start_1, end_date => $end_1 } | 
            
              | 2387 |         } | 
            
              | 2388 |     ); | 
            
              | 2389 |     my $booking2 = $builder->build_object( | 
            
              | 2390 |         { | 
            
              | 2391 |             class => 'Koha::Bookings', | 
            
              | 2392 |             value => { item_id => $item->itemnumber, start_date => $start_2, end_date => $end_2 } | 
            
              | 2393 |         } | 
            
              | 2394 |     ); | 
            
              | 2395 |     my $booking3 = $builder->build_object( | 
            
              | 2396 |         { | 
            
              | 2397 |             class => 'Koha::Bookings', | 
            
              | 2398 |             value => { item_id => $item->itemnumber, start_date => $start_3, end_date => $end_3 } | 
            
              | 2399 |         } | 
            
              | 2400 |     ); | 
            
              | 2401 |  | 
            
              | 2402 |     is( $item->bookings()->count, 3, "Three bookings found" ); | 
            
              | 2403 |     my $dtf = Koha::Database->new->schema->storage->datetime_parser; | 
            
              | 2404 |     is( | 
            
              | 2405 |         $item->bookings( { start_date => { '<=' => $dtf->format_datetime( dt_from_string() ) } } )->count, 2, | 
            
              | 2406 |         "Two bookings starts on or before today" | 
            
              | 2407 |     ); | 
            
              | 2408 |  | 
            
              | 2409 |     $schema->storage->txn_rollback; | 
            
              | 2410 | }; |