aboutsummaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authordakkar <dakkar@thenautilus.net>2016-06-19 17:55:45 +0100
committerdakkar <dakkar@thenautilus.net>2016-06-19 17:56:35 +0100
commit4ba7568909fe620ee9fb99cb6bbe058df8c0061c (patch)
tree0e311c42a6901e2ccc6528ad56a54339e78871de /t
parentNoMail role (diff)
downloadSietima-4ba7568909fe620ee9fb99cb6bbe058df8c0061c.tar.gz
Sietima-4ba7568909fe620ee9fb99cb6bbe058df8c0061c.tar.bz2
Sietima-4ba7568909fe620ee9fb99cb6bbe058df8c0061c.zip
AvoidDups role
Diffstat (limited to 't')
-rw-r--r--t/lib/Test/Sietima.pm7
-rw-r--r--t/tests/sietima/role/avoid-dups.t28
2 files changed, 35 insertions, 0 deletions
diff --git a/t/lib/Test/Sietima.pm b/t/lib/Test/Sietima.pm
index 0661786..48c92cc 100644
--- a/t/lib/Test/Sietima.pm
+++ b/t/lib/Test/Sietima.pm
@@ -48,12 +48,19 @@ sub make_sietima {
});
}
+my $maybe = sub {
+ my ($obj,$method,$arg) = @_;
+ return $obj unless $arg;
+ return $obj->$method($arg);
+};
+
sub make_mail {
my (%args) = @_;
Email::Stuffer
->from($args{from}||'someone@users.example.com')
->to($args{to}||$return_path)
+ ->$maybe(cc => $args{cc})
->subject($args{subject}||'Test Message')
->text_body($args{body}||'some simple message')
->email;
diff --git a/t/tests/sietima/role/avoid-dups.t b/t/tests/sietima/role/avoid-dups.t
new file mode 100644
index 0000000..997f3fd
--- /dev/null
+++ b/t/tests/sietima/role/avoid-dups.t
@@ -0,0 +1,28 @@
+#!perl
+use strict;
+use warnings;
+use 5.020;
+use lib 't/lib';
+use Test::Sietima;
+
+my $s = make_sietima(
+ with_traits => ['AvoidDups'],
+ subscribers => [
+ 'one@users.example.com',
+ 'two@users.example.com',
+ ],
+);
+
+test_sending(
+ sietima => $s,
+ mail => { cc => 'one@users.example.com' },
+ to => ['two@users.example.com'],
+);
+
+test_sending(
+ sietima => $s,
+ mail => { to => $s->return_path . ' one@users.example.com' },
+ to => ['two@users.example.com'],
+);
+
+done_testing;