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