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

(-)a/t/db_dependent/Letters.t (-10 / +26 lines)
Lines 876-882 subtest 'GetPreparedLetter' => sub { Link Here
876
876
877
877
878
subtest 'TranslateNotices' => sub {
878
subtest 'TranslateNotices' => sub {
879
    plan tests => 7;
879
    plan tests => 10;
880
880
881
    t::lib::Mocks::mock_preference( 'TranslateNotices', '1' );
881
    t::lib::Mocks::mock_preference( 'TranslateNotices', '1' );
882
882
Lines 938-943 subtest 'TranslateNotices' => sub { Link Here
938
    is( $letter->{title}, 'a test',
938
    is( $letter->{title}, 'a test',
939
        'GetPreparedLetter should return the default notice if pref disabled but additional language exists' );
939
        'GetPreparedLetter should return the default notice if pref disabled but additional language exists' );
940
940
941
    t::lib::Mocks::mock_preference( 'TranslateNotices', '1' );
942
941
    my $amount      = -20;
943
    my $amount      = -20;
942
    my $accountline = $builder->build(
944
    my $accountline = $builder->build(
943
        {
945
        {
Lines 953-977 subtest 'TranslateNotices' => sub { Link Here
953
    $dbh->do(
955
    $dbh->do(
954
        q|
956
        q|
955
        INSERT INTO letter (module, code, branchcode, name, title, content, message_transport_type, lang) VALUES
957
        INSERT INTO letter (module, code, branchcode, name, title, content, message_transport_type, lang) VALUES
956
        ('test_payment', 'code', '', 'Account payment', 'Account payment', "[% PROCESS 'accounts.inc' %][% PROCESS account_type_description account=credit %][% credit.description %]", 'print', 'default');
958
        ('test', 'payment', '', 'Paiement du compte', 'Paiement du compte', "[% PROCESS 'accounts.inc' %][% PROCESS account_type_description account=credit %][% credit.description %]", 'print', 'fr-CA'),
959
        ('test', 'payment', '', 'Default payment notice', 'Default payment notice', "[% PROCESS 'accounts.inc' %][% PROCESS account_type_description account=credit %][% credit.description %]", 'print', 'default');
957
    |
960
    |
958
    );
961
    );
959
962
963
    # Note: How can we mock the above used includes being installed in fr-CA language so we don't have to actually install
964
    # them for the tests to run :S
965
960
    $tables = {
966
    $tables = {
961
        borrowers => $borrowernumber,
967
        borrowers => $borrowernumber,
962
        credits   => $accountline->{accountlines_id},
968
        credits   => $accountline->{accountlines_id},
963
    };
969
    };
964
970
965
    $letter = C4::Letters::GetPreparedLetter(
971
    $letter = C4::Letters::GetPreparedLetter(
966
        module                 => 'test_payment',
972
        module                 => 'test',
967
        letter_code            => 'code',
973
        letter_code            => 'payment',
968
        message_transport_type => 'print',
974
        message_transport_type => 'print',
969
        tables                 => $tables,
975
        tables                 => $tables,
970
        lang                   => 'fr-CA',
976
        lang                   => 'fr-CA',
971
    );
977
    );
978
    is( $letter->{title}, 'Paiement du compte',
979
        'GetPreparedLetter should return the notice in patron\'s preferred language' );
972
    like(
980
    like(
973
        $letter->{content}, qr/Paiement/,
981
        $letter->{content}, qr/Paiement/,
974
        'GetPreparedLetter should return the notice in patron\'s preferred language'
982
        'Template includes should use the patron\'s preferred language too'
975
    );
983
    );
976
984
977
    my $context = Test::MockModule->new('C4::Context');
985
    my $context = Test::MockModule->new('C4::Context');
Lines 981-1007 subtest 'TranslateNotices' => sub { Link Here
981
    t::lib::Mocks::mock_preference( 'language', 'fr-CA,en' );
989
    t::lib::Mocks::mock_preference( 'language', 'fr-CA,en' );
982
990
983
    $letter = C4::Letters::GetPreparedLetter(
991
    $letter = C4::Letters::GetPreparedLetter(
984
        module                 => 'test_payment',
992
        module                 => 'test',
985
        letter_code            => 'code',
993
        letter_code            => 'payment',
986
        message_transport_type => 'print',
994
        message_transport_type => 'print',
987
        tables                 => $tables,
995
        tables                 => $tables,
988
        lang                   => 'default',
996
        lang                   => 'default',
989
    );
997
    );
998
    is( $letter->{title}, 'Default payment notice',
999
        'GetPreparedLetter should return the notice in default language' );
990
    like( $letter->{content}, qr/Paiement/, 'GetPreparedLetter should return the notice in the interface language' );
1000
    like( $letter->{content}, qr/Paiement/, 'GetPreparedLetter should return the notice in the interface language' );
991
1001
992
    $context->mock( 'interface', 'cron' );
1002
    $context->mock( 'interface', 'cron' );
993
1003
994
    $letter = C4::Letters::GetPreparedLetter(
1004
    $letter = C4::Letters::GetPreparedLetter(
995
        module                 => 'test_payment',
1005
        module                 => 'test',
996
        letter_code            => 'code',
1006
        letter_code            => 'payment',
997
        message_transport_type => 'print',
1007
        message_transport_type => 'print',
998
        tables                 => $tables,
1008
        tables                 => $tables,
999
        lang                   => 'default'
1009
        lang                   => 'default'
1000
    );
1010
    );
1011
    is( $letter->{title}, 'Default payment notice',
1012
        'GetPreparedLetter should return the notice in default language' );
1001
    like(
1013
    like(
1002
        $letter->{content}, qr/Paiement/,
1014
        $letter->{content}, qr/Paiement/,
1003
        'GetPreparedLetter should return the notice in the first language in language system preference'
1015
        'GetPreparedLetter should return the notice in the first language in language system preference'
1004
    );
1016
    );
1017
    
1018
    t::lib::Mocks::mock_preference( 'TranslateNotices', '0' );
1019
1020
    # Note: What should happen when TranslateNotices is disabled? The default might be translated and thus we need to ensure we're
1021
    # using the right template + includes consistently again
1005
};
1022
};
1006
1023
1007
subtest 'Test SMS handling in SendQueuedMessages' => sub {
1024
subtest 'Test SMS handling in SendQueuedMessages' => sub {
1008
- 

Return to bug 33237