aboutsummaryrefslogtreecommitdiffstats
path: root/t/app/controller/develop.t
diff options
context:
space:
mode:
authorMatthew Somerville <matthew-github@dracos.co.uk>2018-02-27 10:31:49 +0000
committerMatthew Somerville <matthew-github@dracos.co.uk>2018-03-01 14:22:18 +0000
commit04de4f97ff05e5662965d71e1bdae6c639f7d039 (patch)
tree85d152c9e1879650c14349c5e9502bf953caa6e1 /t/app/controller/develop.t
parent3488e36aab3642149ae09d28adcf17256c2bac0f (diff)
Add development email previewer.
Diffstat (limited to 't/app/controller/develop.t')
-rw-r--r--t/app/controller/develop.t33
1 files changed, 33 insertions, 0 deletions
diff --git a/t/app/controller/develop.t b/t/app/controller/develop.t
new file mode 100644
index 000000000..92aa86721
--- /dev/null
+++ b/t/app/controller/develop.t
@@ -0,0 +1,33 @@
+use FixMyStreet::TestMech;
+
+ok( my $mech = FixMyStreet::TestMech->new, 'Created mech object' );
+
+my ($problem) = $mech->create_problems_for_body(1, 2504, 'title');
+my $update = $mech->create_comment_for_problem($problem, $problem->user, 'Name', 'Text', 'f', 'confirmed', 'confirmed');
+
+subtest 'not visible on live site' => sub {
+ FixMyStreet::override_config {
+ STAGING_SITE => 0
+ }, sub {
+ $mech->get('/_dev/email/');
+ is $mech->res->code, 404;
+ $mech->get('/_dev/email/login');
+ is $mech->res->code, 404;
+ };
+};
+
+subtest 'dev email index page' => sub {
+ $mech->get_ok('/_dev/email/');
+ $mech->content_contains('login">login</a></li>');
+ $mech->content_contains('questionnaire?problem=' . $problem->id . '">questionnaire</a></li>');
+ $mech->content_contains('update-confirm?update=' . $update->id . '">update-confirm</a></li>');
+};
+
+subtest 'individual email previews' => sub {
+ $mech->get_ok('/_dev/email/alert-problem-area');
+ $mech->get_ok('/_dev/email/alert-update?problem=' . $problem->id);
+ $mech->get_ok('/_dev/email/questionnaire?problem=' . $problem->id);
+ $mech->get_ok('/_dev/email/update-confirm?update=' . $update->id);
+};
+
+done_testing();