| Lines 24-29
          use Test::More tests => 7;
      
      
        Link Here | 
        
          | 24 | use t::lib::Mocks; | 24 | use t::lib::Mocks; | 
        
          | 25 | use t::lib::TestBuilder; | 25 | use t::lib::TestBuilder; | 
        
          | 26 |  | 26 |  | 
            
              |  |  | 27 | use C4::Context; | 
            
              | 28 |  | 
        
          | 27 | use Koha::Notice::Templates; | 29 | use Koha::Notice::Templates; | 
        
          | 28 | use Koha::Patron::Categories; | 30 | use Koha::Patron::Categories; | 
        
          | 29 | use Koha::Patron::Message::Attributes; | 31 | use Koha::Patron::Message::Attributes; | 
  
    | Lines 31-36
          use Koha::Patron::Message::Transport::Types;
      
      
        Link Here | 
        
          | 31 | use Koha::Patron::Message::Transports; | 33 | use Koha::Patron::Message::Transports; | 
        
          | 32 | use Koha::Patrons; | 34 | use Koha::Patrons; | 
        
          | 33 |  | 35 |  | 
            
              |  |  | 36 | use File::Temp qw/tempfile/; | 
            
              | 37 | use Log::Log4perl; | 
            
              | 38 |  | 
        
          | 34 | my $schema  = Koha::Database->new->schema; | 39 | my $schema  = Koha::Database->new->schema; | 
        
          | 35 | my $builder = t::lib::TestBuilder->new; | 40 | my $builder = t::lib::TestBuilder->new; | 
        
          | 36 |  | 41 |  | 
  
    | Lines 189-195
          subtest 'Test Koha::Patron::Message::Preference->message_transport_types' => sub
      
      
        Link Here | 
        
          | 189 |        'Method message_transport_types available'); | 194 |        'Method message_transport_types available'); | 
        
          | 190 |  | 195 |  | 
        
          | 191 |     subtest 'get message_transport_types' => sub { | 196 |     subtest 'get message_transport_types' => sub { | 
          
            
              | 192 |         plan tests => 4; | 197 |         plan tests => 5; | 
        
          | 193 |  | 198 |  | 
        
          | 194 |         $schema->storage->txn_begin; | 199 |         $schema->storage->txn_begin; | 
        
          | 195 |  | 200 |  | 
  
    | Lines 229-234
          subtest 'Test Koha::Patron::Message::Preference->message_transport_types' => sub
      
      
        Link Here | 
        
          | 229 |         ok(!$preference->message_transport_types->{'nonexistent'}, | 234 |         ok(!$preference->message_transport_types->{'nonexistent'}, | 
        
          | 230 |            'Didn\'t find nonexistent transport type.'); | 235 |            'Didn\'t find nonexistent transport type.'); | 
        
          | 231 |  | 236 |  | 
            
              |  |  | 237 |         subtest 'test logging of warnings by invalid message transport type' => sub { | 
            
              | 238 |             plan tests => 2; | 
            
              | 239 |  | 
            
              | 240 |             my $log = mytempfile(); | 
            
              | 241 |             my $conf = mytempfile( <<"HERE" | 
            
              | 242 | log4perl.logger.opac = WARN, OPAC | 
            
              | 243 | log4perl.appender.OPAC=Log::Log4perl::Appender::TestBuffer | 
            
              | 244 | log4perl.appender.OPAC.filename=$log | 
            
              | 245 | log4perl.appender.OPAC.mode=append | 
            
              | 246 | log4perl.appender.OPAC.layout=SimpleLayout | 
            
              | 247 | log4perl.logger.intranet = WARN, INTRANET | 
            
              | 248 | log4perl.appender.INTRANET=Log::Log4perl::Appender::TestBuffer | 
            
              | 249 | log4perl.appender.INTRANET.filename=$log | 
            
              | 250 | log4perl.appender.INTRANET.mode=append | 
            
              | 251 | log4perl.appender.INTRANET.layout=SimpleLayout | 
            
              | 252 | HERE | 
            
              | 253 |             ); | 
            
              | 254 |             t::lib::Mocks::mock_config('log4perl_conf', $conf); | 
            
              | 255 |             my $appenders = Log::Log4perl->appenders; | 
            
              | 256 |             my $appender = Log::Log4perl->appenders->{OPAC}; | 
            
              | 257 |  | 
            
              | 258 |             my $pref = Koha::Patron::Message::Preferences->find( | 
            
              | 259 |                 $preference->borrower_message_preference_id | 
            
              | 260 |             ); | 
            
              | 261 |             my $transports = $pref->message_transport_types; | 
            
              | 262 |             is($appender, undef, 'Nothing in buffer yet'); | 
            
              | 263 |  | 
            
              | 264 |             my $mtt_new = build_a_test_transport_type(); | 
            
              | 265 |             Koha::Patron::Message::Transport::Preference->new({ | 
            
              | 266 |                 borrower_message_preference_id => | 
            
              | 267 |                                 $pref->borrower_message_preference_id, | 
            
              | 268 |                 message_transport_type => $mtt_new->message_transport_type, | 
            
              | 269 |             })->store; | 
            
              | 270 |             $pref = Koha::Patron::Message::Preferences->find( | 
            
              | 271 |                 $pref->borrower_message_preference_id | 
            
              | 272 |             ); | 
            
              | 273 |             $transports = $pref->message_transport_types; | 
            
              | 274 |             $appender = Log::Log4perl->appenders->{OPAC}; | 
            
              | 275 |             my $name = $pref->message_name; | 
            
              | 276 |             my $tt = $mtt_new->message_transport_type; | 
            
              | 277 |             like($appender->buffer, qr/WARN - $name has no transport with $tt/, | 
            
              | 278 |                  'Logged invalid message transport type'); | 
            
              | 279 |         }; | 
            
              | 280 |  | 
        
          | 232 |         $schema->storage->txn_rollback; | 281 |         $schema->storage->txn_rollback; | 
        
          | 233 |     }; | 282 |     }; | 
        
          | 234 |  | 283 |  | 
  
    | Lines 432-453
          subtest 'Test adding a new preference with invalid parameters' => sub {
      
      
        Link Here | 
        
          | 432 |         is (ref $@, 'Koha::Exceptions::BadParameter', | 481 |         is (ref $@, 'Koha::Exceptions::BadParameter', | 
        
          | 433 |             'Adding a message preference with invalid message_transport_type' | 482 |             'Adding a message preference with invalid message_transport_type' | 
        
          | 434 |             .' => Koha::Exceptions::BadParameter'); | 483 |             .' => Koha::Exceptions::BadParameter'); | 
          
            
              | 435 |         is ($@->parameter, 'message_transport_type', 'The previous exception tells us it' | 484 |         is ($@->parameter, 'message_transport_types', 'The previous exception ' | 
            
              | 436 |             .' was the message_transport_type.'); | 485 |             .'tells us it was the message_transport_types.'); | 
            
              |  |  | 486 |  | 
            
              | 487 |         my $mtt_new = build_a_test_transport_type(); | 
        
          | 437 |         eval { | 488 |         eval { | 
        
          | 438 |             Koha::Patron::Message::Preference->new({ | 489 |             Koha::Patron::Message::Preference->new({ | 
        
          | 439 |                 borrowernumber => $patron->borrowernumber, | 490 |                 borrowernumber => $patron->borrowernumber, | 
        
          | 440 |                 message_attribute_id => $attribute->message_attribute_id, | 491 |                 message_attribute_id => $attribute->message_attribute_id, | 
          
            
              | 441 |                 message_transport_types => ['sms'], | 492 |                 message_transport_types => [$mtt_new->message_transport_type], | 
        
          | 442 |                 wants_digest => 1, | 493 |                 wants_digest => 1, | 
        
          | 443 |             })->store }; | 494 |             })->store }; | 
        
          | 444 |         is (ref $@, 'Koha::Exceptions::BadParameter', | 495 |         is (ref $@, 'Koha::Exceptions::BadParameter', | 
        
          | 445 |             'Adding a message preference with invalid message_transport_type' | 496 |             'Adding a message preference with invalid message_transport_type' | 
          
            
              | 446 |             .' => Koha::Exceptions::BadParameter'); | 497 |            .' => Koha::Exceptions::BadParameter'); | 
            
              | 447 |         is ($@->parameter, 'message_transport_type', 'The previous exception tells us it' | 498 |         is ($@->parameter, 'message_transport_types', 'The previous exception ' | 
            
              | 448 |             .' was the message_transport_type.'); | 499 |             .'tells us it was the message_transport_types.'); | 
            
              | 449 |         like ($@->error, qr/^Message transport option/, 'Exception s because of given' | 500 |         like ($@->error, qr/^No transport configured/, 'Exception is because of ' | 
            
              | 450 |             .' message_transport_type is not a valid option.'); | 501 |             .'given message_transport_type is not a valid option.'); | 
        
          | 451 |  | 502 |  | 
        
          | 452 |         eval { | 503 |         eval { | 
        
          | 453 |             Koha::Patron::Message::Preference->new({ | 504 |             Koha::Patron::Message::Preference->new({ | 
  
    | Lines 643-646
          sub build_a_test_complete_preference {
      
      
        Link Here | 
        
          | 643 |     })->next, $mtt1, $mtt2); | 694 |     })->next, $mtt1, $mtt2); | 
        
          | 644 | } | 695 | } | 
        
          | 645 |  | 696 |  | 
            
              |  |  | 697 | sub mytempfile { | 
            
              | 698 |     my ( $fh, $fn ) = tempfile( SUFFIX => '.logger.test', UNLINK => 1 ); | 
            
              | 699 |     print $fh $_[0]//''; | 
            
              | 700 |     close $fh; | 
            
              | 701 |     return $fn; | 
            
              | 702 | } | 
            
              | 703 |  | 
        
          | 646 | 1; | 704 | 1; | 
            
              | 647 | -  |  |  |