aboutsummaryrefslogtreecommitdiffstats
path: root/t/app
diff options
context:
space:
mode:
authorEdmund von der Burg <evdb@mysociety.org>2011-04-15 17:49:58 +0100
committerEdmund von der Burg <evdb@mysociety.org>2011-04-15 17:49:58 +0100
commit8cdbfa9706eb1e69f4e975646fcde99dd41a9064 (patch)
treec8a5383a76e9988cd8736d826d59ee227c8edc3b /t/app
parent49d6b2900ccc63b8c6c8022399b663b426fe9641 (diff)
Show 410 page for hidden reports, and 404 for ones that are not confirmed yet.
Diffstat (limited to 't/app')
-rw-r--r--t/app/controller/report_display.t20
1 files changed, 18 insertions, 2 deletions
diff --git a/t/app/controller/report_display.t b/t/app/controller/report_display.t
index 24a62b958..f979cc4ed 100644
--- a/t/app/controller/report_display.t
+++ b/t/app/controller/report_display.t
@@ -64,13 +64,29 @@ subtest "test bad ids get dealt with (404)" => sub {
}
};
+subtest "change report to unconfirmed and check for 404 status" => sub {
+ ok $report->update( { state => 'unconfirmed' } ), 'unconfirm report';
+ ok $mech->get("/report/$report_id"), "get '/report/$report_id'";
+ is $mech->res->code, 404, "page not found";
+ is $mech->uri->path, "/report/$report_id", "at /report/$report_id";
+ $mech->content_contains('Unknown problem ID');
+ ok $report->update( { state => 'confirmed' } ), 'confirm report again';
+};
+
+subtest "change report to hidden and check for 410 status" => sub {
+ ok $report->update( { state => 'hidden' } ), 'hide report';
+ ok $mech->get("/report/$report_id"), "get '/report/$report_id'";
+ is $mech->res->code, 410, "page gone";
+ is $mech->uri->path, "/report/$report_id", "at /report/$report_id";
+ $mech->content_contains('That report has been removed from FixMyStreet.');
+ ok $report->update( { state => 'confirmed' } ), 'confirm report again';
+};
+
subtest "test a good report" => sub {
$mech->get_ok("/report/$report_id");
is $mech->uri->path, "/report/$report_id", "at /report/$report_id";
};
-fail "change report to hidden and check for 400 status";
-
# tidy up
$mech->delete_user('test@example.com');
done_testing();