Commit | Line | Data |
c18b93ec |
1 | use strict; |
2 | use warnings; |
d603a14e |
3 | BEGIN { $ENV{EMAIL_SENDER_TRANSPORT} = 'Test' } |
c18b93ec |
4 | |
5fbf5d86 |
5 | use Test::Requires { |
6 | 'Catalyst::View::TT' => '0.31', |
7 | }; |
d603a14e |
8 | use Test::More; |
9 | use Email::Sender::Simple; |
c18b93ec |
10 | use FindBin; |
11 | use lib "$FindBin::Bin/lib"; |
12 | |
13 | use_ok('Catalyst::Test', 'TestApp'); |
14 | |
15 | my $response; |
8b10ee55 |
16 | my $time; |
17 | my @emails; |
18 | |
19 | $time = time; |
20 | |
c18b93ec |
21 | ok( ($response = request("/email_app_config?time=$time"))->is_success, 'request ok'); |
22 | |
d603a14e |
23 | @emails = Email::Sender::Simple->default_transport->deliveries; |
c18b93ec |
24 | |
d603a14e |
25 | is(scalar @emails, 1, "got emails"); |
26 | isa_ok( $emails[0]->{'email'}, 'Email::Abstract', 'email is ok' ); |
27 | like($emails[0]->{'email'}->[0]->body, qr/$time/, 'Got our email'); |
8b10ee55 |
28 | |
d603a14e |
29 | Email::Sender::Simple->default_transport->clear_deliveries; |
8b10ee55 |
30 | |
31 | $time = time; |
32 | ok( ($response = request("/template_email_app_config?time=$time"))->is_success, 'request ok'); |
33 | |
d603a14e |
34 | @emails = Email::Sender::Simple->default_transport->deliveries; |
8b10ee55 |
35 | |
d603a14e |
36 | is(scalar @emails, 1, "got emails"); |
37 | isa_ok( $emails[0]->{'email'}, 'Email::Abstract', 'email is ok' ); |
38 | my @parts = $emails[0]->{'email'}[0]->parts; |
8b10ee55 |
39 | cmp_ok(@parts, '==', 2, 'got parts'); |
40 | |
28151039 |
41 | is($parts[0]->content_type, 'text/plain', 'text/plain ok'); |
8b10ee55 |
42 | like($parts[0]->body, qr/test-email\@example.com on $time/, 'got content back'); |
28151039 |
43 | is($parts[1]->content_type, 'text/html', 'text/html ok'); |
8b10ee55 |
44 | like($parts[1]->body, qr{<em>test-email\@example.com</em> on $time}, 'got content back'); |
d603a14e |
45 | done_testing(); |