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

(-)a/t/Koha/Email.t (-2 / +62 lines)
Lines 17-23 Link Here
17
17
18
use Modern::Perl;
18
use Modern::Perl;
19
19
20
use Test::More tests => 2;
20
use Test::More tests => 3;
21
22
use Test::MockModule;
21
use Test::Exception;
23
use Test::Exception;
22
24
23
use t::lib::Mocks;
25
use t::lib::Mocks;
Lines 175-177 subtest 'create() tests' => sub { Link Here
175
        is( "$@", q{Invalid 'bcc' parameter: not_an_email}, 'Exception message correct' );
177
        is( "$@", q{Invalid 'bcc' parameter: not_an_email}, 'Exception message correct' );
176
    };
178
    };
177
};
179
};
178
- 
180
181
subtest 'send_or_die() tests' => sub {
182
183
    plan tests => 4;
184
185
    my $email;
186
    my $args;
187
188
    my $transport = "Hi there!";
189
190
    my $mocked_email_simple = Test::MockModule->new('Email::Sender::Simple');
191
    $mocked_email_simple->mock(
192
        'send',
193
        sub {
194
            my @params = @_;
195
            $email = $params[1];
196
            $args  = $params[2];
197
            return;
198
        }
199
    );
200
201
    my $html_body = '<h1>Title</h1><p>Message</p>';
202
    my $THE_email = Koha::Email->create(
203
        {
204
            from      => 'from@example.com',
205
            to        => 'to@example.com',
206
            cc        => 'cc@example.com',
207
            reply_to  => 'reply_to@example.com',
208
            sender    => 'sender@example.com',
209
            html_body => $html_body
210
        }
211
    );
212
213
    my @bcc = ( 'bcc_1@example.com', 'bcc_2@example.com' );
214
215
    $THE_email->bcc(@bcc);
216
217
    is(
218
        $THE_email->email->header_str('Bcc'),
219
        join( ', ', @bcc ),
220
        'Bcc header set correctly'
221
    );
222
223
    $THE_email->send_or_die(
224
        { transport => $transport, to => ['tomasito@mail.com'] } );
225
    is_deeply( $args->{to}, ['tomasito@mail.com'],
226
        'If explicitly passed, "to" is preserved' );
227
228
    $THE_email->send_or_die( { transport => $transport } );
229
    is_deeply(
230
        $args->{to},
231
        [
232
            'to@example.com',    'cc@example.com',
233
            'bcc_1@example.com', 'bcc_2@example.com'
234
        ],
235
        'If explicitly passed, "to" is preserved'
236
    );
237
    is( $email->header_str('Bcc'), undef, 'The Bcc header is unset' );
238
};

Return to bug 26705