| Lines 18-24
          
      
      
        Link Here | 
        
          | 18 | use Modern::Perl; | 18 | use Modern::Perl; | 
        
          | 19 | use utf8; | 19 | use utf8; | 
        
          | 20 |  | 20 |  | 
          
            
              | 21 | use Test::More tests => 50; | 21 | use Test::More tests => 51; | 
        
          | 22 | use Test::Exception; | 22 | use Test::Exception; | 
        
          | 23 | use Test::MockModule; | 23 | use Test::MockModule; | 
        
          | 24 | use Test::Deep qw( cmp_deeply ); | 24 | use Test::Deep qw( cmp_deeply ); | 
  
    | Lines 36-41
          use C4::Circulation;
      
      
        Link Here | 
        
          | 36 | use C4::Biblio; | 36 | use C4::Biblio; | 
        
          | 37 | use C4::Items; | 37 | use C4::Items; | 
        
          | 38 | use C4::Log; | 38 | use C4::Log; | 
            
              |  |  | 39 | use C4::Message; | 
        
          | 39 | use C4::Reserves; | 40 | use C4::Reserves; | 
        
          | 40 | use C4::Overdues qw(UpdateFine CalcFine); | 41 | use C4::Overdues qw(UpdateFine CalcFine); | 
        
          | 41 | use Koha::DateUtils; | 42 | use Koha::DateUtils; | 
  
    | Lines 46-51
          use Koha::Checkouts;
      
      
        Link Here | 
        
          | 46 | use Koha::Patrons; | 47 | use Koha::Patrons; | 
        
          | 47 | use Koha::Holds; | 48 | use Koha::Holds; | 
        
          | 48 | use Koha::CirculationRules; | 49 | use Koha::CirculationRules; | 
            
              |  |  | 50 | use Koha::Patron::Message::Attributes; | 
            
              | 51 | use Koha::Patron::Message::Preferences; | 
        
          | 49 | use Koha::Subscriptions; | 52 | use Koha::Subscriptions; | 
        
          | 50 | use Koha::Account::Lines; | 53 | use Koha::Account::Lines; | 
        
          | 51 | use Koha::Account::Offsets; | 54 | use Koha::Account::Offsets; | 
  
    | Lines 3038-3043
          subtest 'ItemsDeniedRenewal preference' => sub {
      
      
        Link Here | 
        
          | 3038 |     is( $idr_mayrenew, 0, 'Renewal blocked for empty string when "" in pref' ); | 3041 |     is( $idr_mayrenew, 0, 'Renewal blocked for empty string when "" in pref' ); | 
        
          | 3039 | }; | 3042 | }; | 
        
          | 3040 |  | 3043 |  | 
            
              |  |  | 3044 | subtest 'SendCirculationAlert test' => sub { | 
            
              | 3045 |     plan tests => 4; | 
            
              | 3046 |  | 
            
              | 3047 |     my $library = $builder->build( { source => 'Branch' } ); | 
            
              | 3048 |     my $patron  = $builder->build( { source => 'Borrower' } ); | 
            
              | 3049 |     my $attribute = Koha::Patron::Message::Attributes->find({ | 
            
              | 3050 |         message_name => 'Item_Checkout', | 
            
              | 3051 |     }); | 
            
              | 3052 |     Koha::Patron::Message::Preference->new({ | 
            
              | 3053 |         borrowernumber => $patron->{'borrowernumber'}, | 
            
              | 3054 |         message_attribute_id => $attribute->message_attribute_id, | 
            
              | 3055 |         days_in_advance => undef, | 
            
              | 3056 |         wants_digest => 0, | 
            
              | 3057 |         message_transport_types => ['email'], | 
            
              | 3058 |     })->store; | 
            
              | 3059 |     my $biblioitem_1 = $builder->build( { source => 'Biblioitem' } ); | 
            
              | 3060 |     my $item_1 = $builder->build( | 
            
              | 3061 |         {   source => 'Item', | 
            
              | 3062 |             value  => { | 
            
              | 3063 |                 homebranch    => $library->{branchcode}, | 
            
              | 3064 |                 holdingbranch => $library->{branchcode}, | 
            
              | 3065 |                 notforloan    => 0, | 
            
              | 3066 |                 itemlost      => 0, | 
            
              | 3067 |                 withdrawn     => 0, | 
            
              | 3068 |                 biblionumber  => $biblioitem_1->{biblionumber} | 
            
              | 3069 |             } | 
            
              | 3070 |         } | 
            
              | 3071 |     ); | 
            
              | 3072 |  | 
            
              | 3073 |     my $old_message = C4::Message->find_last_message($patron, 'CHECKOUT', 'email'); | 
            
              | 3074 |     $old_message->{'message_id'} = 0 unless $old_message; | 
            
              | 3075 |     is(C4::Circulation::SendCirculationAlert({ | 
            
              | 3076 |         type     => 'CHECKOUT', | 
            
              | 3077 |         item     => $item_1, | 
            
              | 3078 |         borrower => $patron, | 
            
              | 3079 |         branch   => $library->{'branchcode'}, | 
            
              | 3080 |     }), undef, "SendCirculationAlert called."); | 
            
              | 3081 |     my $new_message = C4::Message->find_last_message($patron, 'CHECKOUT', 'email'); | 
            
              | 3082 |     ok($old_message->{'message_id'} != $new_message->{'message_id'}, "New message has appeared."); | 
            
              | 3083 |     is($new_message->{'letter_code'}, 'CHECKOUT', "New message letter code is CHECKOUT."); | 
            
              | 3084 |     is($new_message->{'borrowernumber'}, $patron->{'borrowernumber'}, "New message is to our test patron."); | 
            
              | 3085 | }; | 
            
              | 3086 |  | 
        
          | 3041 | subtest 'CanBookBeIssued | item-level_itypes=biblio' => sub { | 3087 | subtest 'CanBookBeIssued | item-level_itypes=biblio' => sub { | 
        
          | 3042 |     plan tests => 2; | 3088 |     plan tests => 2; | 
        
          | 3043 |  | 3089 |  |