added MANIFEST.SKIP
[catagits/Catalyst-View-Email.git] / t / 05template.t
1 use strict;
2 use warnings;
3
4 BEGIN { $ENV{EMAIL_SENDER_TRANSPORT} = 'Test' }
5 use Test::More;
6 use Test::Requires {
7     'Catalyst::View::TT' => '0.31',
8 };
9 use Email::Sender::Simple;
10 use FindBin;
11 use lib "$FindBin::Bin/lib";
12 use Data::Dump qw(ddx);
13 use_ok('Catalyst::Test', 'TestApp');
14
15 my $response;
16 my $response2;
17 my $time = time;
18 ok( ( $response = request("/template_email?time=$time"))->is_success,
19     'request ok' );
20 my @emails = Email::Sender::Simple->default_transport->deliveries;
21 like( $response->content, qr/Template Email Ok/, 'controller says ok' );
22 cmp_ok(@emails, '==', 1, 'got emails');
23 isa_ok( $emails[0]->{'email'}, 'Email::Abstract', 'email is ok' );
24
25 like($emails[0]->{'email'}[0]->header("Content-type"), qr#^multipart/alternative#, 'Multipart email');
26
27 my @parts = $emails[0]->{'email'}[0]->parts;
28 cmp_ok(@parts, '==', 2, 'got parts');
29
30 is($parts[0]->content_type, 'text/plain', 'text/plain part ok');
31 like($parts[0]->body, qr/test-email\@example.com on $time/, 'got content back');
32
33 is($parts[1]->content_type, 'text/html', 'text/html ok');
34 like($parts[1]->body, qr{<em>test-email\@example.com</em> on $time}, 'got content back');
35
36 ok( ( $response2 = request("/template_email_single?time=$time"))->is_success,
37     'request ok' );
38 like( $response2->content, qr/Template Email Ok/, 'controller says ok' );
39 my @emails2 = Email::Sender::Simple->default_transport->deliveries;
40 my @parts2 = $emails2[0]->{'email'}[0]->parts;
41 is($parts2[1]->content_type, 'text/html', 'text/html ok');
42 like($parts2[1]->body, qr{<em>test-email\@example.com</em> on $time}, 'got content back');
43 done_testing();