From 020769f403ef4cf1880bd061b6db6b4f4028d3e4 Mon Sep 17 00:00:00 2001 From: Matthew Somerville Date: Thu, 1 Dec 2016 18:23:54 +0000 Subject: Return 400/500 for some client/server errors. --- t/app/controller/moderate.t | 3 ++- t/app/controller/questionnaire.t | 6 +++++- t/app/controller/report_updates.t | 6 ++++-- 3 files changed, 11 insertions(+), 4 deletions(-) (limited to 't/app/controller') diff --git a/t/app/controller/moderate.t b/t/app/controller/moderate.t index 0ccfcf2c2..3a3c7a708 100644 --- a/t/app/controller/moderate.t +++ b/t/app/controller/moderate.t @@ -67,7 +67,8 @@ subtest 'Auth' => sub { $mech->get_ok($REPORT_URL); $mech->content_lacks('Moderat'); - $mech->get_ok('/contact?m=1&id=' . $report->id); + $mech->get('/contact?m=1&id=' . $report->id); + is $mech->res->code, 400; $mech->content_lacks('Good bad bad bad'); }; diff --git a/t/app/controller/questionnaire.t b/t/app/controller/questionnaire.t index b05f74225..f42908a3e 100644 --- a/t/app/controller/questionnaire.t +++ b/t/app/controller/questionnaire.t @@ -87,16 +87,19 @@ foreach my $test ( desc => 'User goes to questionnaire URL with a bad token', token_extra => 'BAD', content => "Sorry, that wasn’t a valid link", + code => 400, }, { desc => 'User goes to questionnaire URL for a now-hidden problem', state => 'hidden', content => "we couldn't locate your problem", + code => 400, }, { desc => 'User goes to questionnaire URL for an already answered questionnaire', answered => \'current_timestamp', content => 'already answered this questionnaire', + code => 400, }, ) { subtest $test->{desc} => sub { @@ -106,7 +109,8 @@ foreach my $test ( $questionnaire->update; (my $token = $token->token); $token .= $test->{token_extra} if $test->{token_extra}; - $mech->get_ok("/Q/$token"); + $mech->get("/Q/$token"); + is $mech->res->code, $test->{code}, "Right status received"; $mech->content_contains( $test->{content} ); # Reset, no matter what test did $report->state( 'confirmed' ); diff --git a/t/app/controller/report_updates.t b/t/app/controller/report_updates.t index 5a88097fa..f7544f0a1 100644 --- a/t/app/controller/report_updates.t +++ b/t/app/controller/report_updates.t @@ -1829,7 +1829,8 @@ for my $test ( subtest 'check have to be logged in for creator fixed questionnaire' => sub { $mech->log_out_ok(); - $mech->get_ok( "/questionnaire/submit?problem=$report_id&reported=Yes" ); + $mech->get( "/questionnaire/submit?problem=$report_id&reported=Yes" ); + is $mech->res->code, 400, "got 400"; $mech->content_contains( "I'm afraid we couldn't locate your problem in the database." ) }; @@ -1838,7 +1839,8 @@ subtest 'check cannot answer other user\'s creator fixed questionnaire' => sub { $mech->log_out_ok(); $mech->log_in_ok( $user2->email ); - $mech->get_ok( "/questionnaire/submit?problem=$report_id&reported=Yes" ); + $mech->get( "/questionnaire/submit?problem=$report_id&reported=Yes" ); + is $mech->res->code, 400, "got 400"; $mech->content_contains( "I'm afraid we couldn't locate your problem in the database." ) }; -- cgit v1.2.3