| Lines 19-25
          
      
      
        Link Here | 
        
          | 19 |  | 19 |  | 
        
          | 20 | use Modern::Perl; | 20 | use Modern::Perl; | 
        
          | 21 |  | 21 |  | 
          
            
              | 22 | use Test::More tests => 7; | 22 | use Test::More tests => 8; | 
        
          | 23 |  | 23 |  | 
        
          | 24 | use t::lib::Mocks; | 24 | use t::lib::Mocks; | 
        
          | 25 | use t::lib::TestBuilder; | 25 | use t::lib::TestBuilder; | 
  
    | Lines 373-379
          HERE
      
      
        Link Here | 
        
          | 373 |             is_digest              => 1 | 373 |             is_digest              => 1 | 
        
          | 374 |         })->store; | 374 |         })->store; | 
        
          | 375 |         t::lib::Mocks::mock_preference('TalkingTechItivaPhoneNotification', 0); | 375 |         t::lib::Mocks::mock_preference('TalkingTechItivaPhoneNotification', 0); | 
          
            
              | 376 |         $patron->set({ email => '', phone => '', smsalertnumber => '' })->store; | 376 |         $patron->set({ email => '', emailpro => '', B_email => '', phone => '', smsalertnumber => '' })->store; | 
        
          | 377 |         eval { | 377 |         eval { | 
        
          | 378 |             $preference->message_transport_types('email')->store; | 378 |             $preference->message_transport_types('email')->store; | 
        
          | 379 |         }; | 379 |         }; | 
  
    | Lines 473-478
          subtest 'Test Koha::Patron::Message::Preference->message_name' => sub {
      
      
        Link Here | 
        
          | 473 |     $schema->storage->txn_rollback; | 473 |     $schema->storage->txn_rollback; | 
        
          | 474 | }; | 474 | }; | 
        
          | 475 |  | 475 |  | 
            
              |  |  | 476 | subtest 'Test Koha::Patron::Message::Preference->mtt_deliverable' => sub { | 
            
              | 477 |     plan tests => 10; | 
            
              | 478 |  | 
            
              | 479 |     $schema->storage->txn_begin; | 
            
              | 480 |  | 
            
              | 481 |     my $patron      = $builder->build_object({ class => 'Koha::Patrons' }); | 
            
              | 482 |     my ($preference, $mtt1, $mtt2) = build_a_test_complete_preference({ | 
            
              | 483 |         patron => $patron | 
            
              | 484 |     }); | 
            
              | 485 |  | 
            
              | 486 |     # Test email and smsalertnumber validation | 
            
              | 487 |     eval { Koha::Patron::Message::Transport::Types->new({ | 
            
              | 488 |             message_transport_type => 'email' | 
            
              | 489 |         })->store }; | 
            
              | 490 |     eval { Koha::Patron::Message::Transport::Types->new({ | 
            
              | 491 |             message_transport_type => 'sms' | 
            
              | 492 |         })->store }; | 
            
              | 493 |     eval { Koha::Patron::Message::Transport::Types->new({ | 
            
              | 494 |             message_transport_type => 'phone' | 
            
              | 495 |         })->store }; | 
            
              | 496 |     eval { Koha::Patron::Message::Transport::Types->new({ | 
            
              | 497 |             message_transport_type => 'itiva' | 
            
              | 498 |         })->store }; | 
            
              | 499 |     Koha::Patron::Message::Transport->new({ | 
            
              | 500 |         message_attribute_id   => $preference->message_attribute_id, | 
            
              | 501 |         message_transport_type => 'email', | 
            
              | 502 |         is_digest              => 1 | 
            
              | 503 |     })->store; | 
            
              | 504 |     Koha::Patron::Message::Transport->new({ | 
            
              | 505 |         message_attribute_id   => $preference->message_attribute_id, | 
            
              | 506 |         message_transport_type => 'sms', | 
            
              | 507 |         is_digest              => 1 | 
            
              | 508 |     })->store; | 
            
              | 509 |     Koha::Patron::Message::Transport->new({ | 
            
              | 510 |         message_attribute_id   => $preference->message_attribute_id, | 
            
              | 511 |         message_transport_type => 'phone', | 
            
              | 512 |         is_digest              => 1 | 
            
              | 513 |     })->store; | 
            
              | 514 |     Koha::Patron::Message::Transport->new({ | 
            
              | 515 |         message_attribute_id   => $preference->message_attribute_id, | 
            
              | 516 |         message_transport_type => 'itiva', | 
            
              | 517 |         is_digest              => 1 | 
            
              | 518 |     })->store; | 
            
              | 519 |     $patron->set({ | 
            
              | 520 |         email => 'nobody@koha-community.org', | 
            
              | 521 |         emailpro => 'nobody@koha-community.org', | 
            
              | 522 |         B_email => 'nobody@koha-community.org', | 
            
              | 523 |         smsalertnumber => '123', | 
            
              | 524 |         phone => '123', | 
            
              | 525 |     })->store; | 
            
              | 526 |     t::lib::Mocks::mock_preference('TalkingTechItivaPhoneNotification', 1); | 
            
              | 527 |  | 
            
              | 528 |     is($preference->mtt_deliverable('email'), 1, 'mtt_deliverable - email'); | 
            
              | 529 |     is($preference->mtt_deliverable('itiva'), 1, 'mtt_deliverable - itiva'); | 
            
              | 530 |     is($preference->mtt_deliverable('phone'), 1, 'mtt_deliverable - phone'); | 
            
              | 531 |     is($preference->mtt_deliverable('sms'), 1, 'mtt_deliverable - sms'); | 
            
              | 532 |  | 
            
              | 533 |     $patron->set({email => '',})->store; | 
            
              | 534 |     is($preference->mtt_deliverable('email'), 1, 'mtt_deliverable - emailpro'); | 
            
              | 535 |  | 
            
              | 536 |     $patron->set({emailpro => '',})->store; | 
            
              | 537 |     is($preference->mtt_deliverable('email'), 1, 'mtt_deliverable - B_email'); | 
            
              | 538 |  | 
            
              | 539 |     $patron->set({B_email => '',})->store; | 
            
              | 540 |     is($preference->mtt_deliverable('email'), 0, 'mtt_deliverable - email false'); | 
            
              | 541 |  | 
            
              | 542 |     t::lib::Mocks::mock_preference('TalkingTechItivaPhoneNotification', 0); | 
            
              | 543 |     is($preference->mtt_deliverable('itiva'), 0, 'mtt_deliverable - itiva false'); | 
            
              | 544 |  | 
            
              | 545 |     $patron->set({phone => '',})->store; | 
            
              | 546 |     is($preference->mtt_deliverable('phone'), 0, 'mtt_deliverable - phone false'); | 
            
              | 547 |  | 
            
              | 548 |     $patron->set({smsalertnumber => '',})->store; | 
            
              | 549 |     is($preference->mtt_deliverable('sms'), 0, 'mtt_deliverable - smsalertnumber false'); | 
            
              | 550 |  | 
            
              | 551 |     $schema->storage->txn_rollback; | 
            
              | 552 | }; | 
            
              | 553 |  | 
        
          | 476 | subtest 'Test adding a new preference with invalid parameters' => sub { | 554 | subtest 'Test adding a new preference with invalid parameters' => sub { | 
        
          | 477 |     plan tests => 4; | 555 |     plan tests => 4; | 
        
          | 478 |  | 556 |  | 
            
              | 479 | -  |  |  |