2 use Test::More tests => 7;
5 use C4::Letters qw( GetLetterTemplates );
8 my $schema = Koha::Database->new->schema;
9 $schema->storage->txn_begin;
10 my $dbh = C4::Context->dbh;
12 $dbh->do(q|DELETE FROM letter|);
16 module => 'circulation',
19 name => 'B default name for code1 circ',
21 title => 'default title for code1 email',
22 content => 'default content for code1 email',
23 message_transport_type => 'email',
26 module => 'circulation',
29 name => 'B default name for code1 circ',
31 title => 'default title for code1 sms',
32 content => 'default content for code1 sms',
33 message_transport_type => 'sms',
36 module => 'circulation',
39 name => 'A default name for code2 circ',
41 title => 'default title for code2 email',
42 content => 'default content for code2 email',
43 message_transport_type => 'email',
46 module => 'circulation',
49 name => 'C default name for code3 circ',
51 title => 'default title for code3 email',
52 content => 'default content for code3 email',
53 message_transport_type => 'email',
57 module => 'cataloguing',
60 name => 'default name for code1 cat',
62 title => 'default title for code1 cat email',
63 content => 'default content for code1 cat email',
64 message_transport_type => 'email',
68 module => 'circulation',
71 name => 'B CPL name for code1 circ',
73 title => 'CPL title for code1 email',
74 content => 'CPL content for code1 email',
75 message_transport_type => 'email',
78 module => 'circulation',
81 name => 'A CPL name for code1 circ',
83 title => 'CPL title for code1 sms',
84 content => 'CPL content for code1 sms',
85 message_transport_type => 'sms',
88 module => 'circulation',
91 name => 'B MPL name for code1 circ',
93 title => 'MPL title for code1 email',
94 content => 'MPL content for code1 email',
95 message_transport_type => 'email',
99 my $sth = $dbh->prepare(
100 q|INSERT INTO letter(module, code, branchcode, name, title, content, message_transport_type) VALUES (?, ?, ?, ?, ?, ?, ?)|
102 for my $l (@$letters) {
103 $sth->execute( $l->{module}, $l->{code}, $l->{branchcode}, $l->{name},
104 $l->{title}, $l->{content}, $l->{message_transport_type} );
107 my $letter_templates;
108 $letter_templates = C4::Letters::GetLetterTemplates;
109 is_deeply( $letter_templates, [],
110 'GetLetterTemplates should not return templates if not param is given' );
112 $letter_templates = C4::Letters::GetLetterTemplates(
113 { module => 'circulation', code => 'code1', branchcode => '' } );
114 is( scalar( @$letter_templates ),
115 2, '2 default templates should exist for circulation code1' );
116 my $has_email = grep { $_->{message_transport_type} eq 'email' } @$letter_templates;
117 is( $has_email, 1, 'The mtt email should exist for circulation code1' );
118 my $has_sms = grep { $_->{message_transport_type} eq 'sms' } @$letter_templates;
119 is( $has_sms, 1, 'The mtt sms should exist for circulation code1' );
121 $letter_templates = C4::Letters::GetLetterTemplates(
122 { module => 'circulation', code => 'code1', branchcode => 'CPL' } );
123 is( scalar( @$letter_templates ),
124 1, '1 template should exist for circulation CPL code1' );
125 $has_email = grep { $_->{message_transport_type} eq 'email' } @$letter_templates;
126 is( $has_email, 1, 'The mtt should be email for circulation CPL code1' );
128 $letter_templates = C4::Letters::GetLetterTemplates(
129 { module => 'circulation', code => 'code1' } );
130 is( scalar( @$letter_templates ),
131 2, '2 default templates should exist for circulation code1 (even if branchcode is not given)' );