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 {
$mech->get('/_dev/');
is $mech->res->code, 404;
$mech->get('/_dev/email');
is $mech->res->code, 404;
$mech->get('/_dev/email/login');
is $mech->res->code, 404;
};
$problem->user->update({ is_superuser => 1 });
$mech->log_in_ok($problem->user->email);
subtest 'dev index' => sub {
$mech->get_ok('/_dev/');
$mech->content_contains('
/_dev
');
};
subtest 'dev email index page' => sub {
$mech->get_ok('/_dev/email/');
$mech->content_contains('login">login');
$mech->content_contains('questionnaire?problem=' . $problem->id . '">questionnaire');
$mech->content_contains('update-confirm?update=' . $update->id . '">update-confirm');
};
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);
};
subtest 'problem confirmation page preview' => sub {
$mech->get_ok('/_dev/confirm_problem/' . $problem->id );
};
subtest 'update confirmation page preview' => sub {
$mech->get_ok('/_dev/confirm_update/' . $problem->id);
};
subtest 'alert confirmation page preview' => sub {
$mech->get_ok('/_dev/confirm_alert/subscribe');
};
subtest 'contact form submission page preview' => sub {
$mech->get_ok('/_dev/contact_submit/1');
};
subtest 'questionnaire completion page previews' => sub {
$mech->get_ok('/_dev/questionnaire_completed?been_fixed=Yes');
$mech->get_ok('/_dev/questionnaire_completed?been_fixed=Unknown');
$mech->get_ok('/_dev/questionnaire_completed?new_state=confirmed');
$mech->get_ok('/_dev/questionnaire_creator_fixed');
};
done_testing();