diff options
author | Marius Halden <marius.h@lden.org> | 2017-05-28 21:31:42 +0200 |
---|---|---|
committer | Marius Halden <marius.h@lden.org> | 2017-05-28 21:31:42 +0200 |
commit | 987124b09a32248414faf4d0d6615d43b29ac6f6 (patch) | |
tree | a549db8af723c981d3b346e855f25d6fd5ff8aa7 /t/app/controller/report_inspect.t | |
parent | dbf56159e44c1560a413022451bf1a1c4cb22a52 (diff) | |
parent | a085b63ce09f87e83b75cda9b9cd08aadfe75d61 (diff) |
Merge tag 'v2.0.4' into fiksgatami-dev
Diffstat (limited to 't/app/controller/report_inspect.t')
-rw-r--r-- | t/app/controller/report_inspect.t | 50 |
1 files changed, 37 insertions, 13 deletions
diff --git a/t/app/controller/report_inspect.t b/t/app/controller/report_inspect.t index 4697cc9d1..69e43ad99 100644 --- a/t/app/controller/report_inspect.t +++ b/t/app/controller/report_inspect.t @@ -34,7 +34,7 @@ my $user = $mech->log_in_ok('test@example.com'); $user->update( { from_body => $oxon } ); FixMyStreet::override_config { - MAPIT_URL => 'http://mapit.mysociety.org/', + MAPIT_URL => 'http://mapit.uk/', ALLOWED_COBRANDS => 'fixmystreet', }, sub { subtest "test inspect page" => sub { @@ -57,30 +57,33 @@ FixMyStreet::override_config { }; subtest "test basic inspect submission" => sub { - $mech->submit_form_ok({ button => 'save', with_fields => { traffic_information => 'Yes', state => 'Planned' } }); + $mech->submit_form_ok({ button => 'save', with_fields => { traffic_information => 'Yes', state => 'Action Scheduled', include_update => undef } }); $report->discard_changes; - is $report->state, 'planned', 'report state changed'; + is $report->state, 'action scheduled', 'report state changed'; is $report->get_extra_metadata('traffic_information'), 'Yes', 'report data changed'; }; subtest "test inspect & instruct submission" => sub { $report->unset_extra_metadata('inspected'); + $report->state('confirmed'); $report->update; - my $reputation = $report->user->get_extra_metadata("reputation") || 0; + $report->inspection_log_entry->delete; + my $reputation = $report->user->get_extra_metadata("reputation"); $mech->get_ok("/report/$report_id"); - $mech->submit_form_ok({ button => 'save', with_fields => { public_update => "This is a public update.", save_inspected => "1" } }); + $mech->submit_form_ok({ button => 'save', with_fields => { public_update => "This is a public update.", include_update => "1", state => 'action scheduled' } }); $report->discard_changes; is $report->comments->first->text, "This is a public update.", 'Update was created'; is $report->get_extra_metadata('inspected'), 1, 'report marked as inspected'; - is $report->user->get_extra_metadata('reputation'), $reputation+1, "User reputation was increased"; + is $report->user->get_extra_metadata('reputation'), $reputation, "User reputation wasn't changed"; }; subtest "test update is required when instructing" => sub { $report->unset_extra_metadata('inspected'); $report->update; + $report->inspection_log_entry->delete; $report->comments->delete_all; $mech->get_ok("/report/$report_id"); - $mech->submit_form_ok({ button => 'save', with_fields => { public_update => undef, save_inspected => "1" } }); + $mech->submit_form_ok({ button => 'save', with_fields => { public_update => undef, include_update => "1" } }); is_deeply $mech->page_errors, [ "Please provide a public update for this report." ], 'errors match'; $report->discard_changes; is $report->comments->count, 0, "Update wasn't created"; @@ -117,7 +120,7 @@ FixMyStreet::override_config { $report->comments->delete_all; $mech->get_ok("/report/$report_id"); - $mech->submit_form_ok({ button => 'save', with_fields => { state => 'Duplicate', duplicate_of => $report2->id, public_update => "This is a duplicate.", save_inspected => "1" } }); + $mech->submit_form_ok({ button => 'save', with_fields => { state => 'Duplicate', duplicate_of => $report2->id, public_update => "This is a duplicate.", include_update => "1" } }); $report->discard_changes; is $report->state, 'duplicate', 'report marked as duplicate'; @@ -136,7 +139,7 @@ FixMyStreet::override_config { state => 'Duplicate', duplicate_of => $report2->id, public_update => $update_text, - save_inspected => "1", + include_update => "1", }}); $report->discard_changes; @@ -174,22 +177,43 @@ FixMyStreet::override_config { }; FixMyStreet::override_config { - MAPIT_URL => 'http://mapit.mysociety.org/', ALLOWED_COBRANDS => 'oxfordshire', }, sub { subtest "test negative reputation" => sub { - my $reputation = $report->user->get_extra_metadata("reputation"); + my $reputation = $report->user->get_extra_metadata("reputation") || 0; $mech->get_ok("/report/$report_id"); $mech->submit_form( button => 'remove_from_site' ); $report->discard_changes; is $report->user->get_extra_metadata('reputation'), $reputation-1, "User reputation was decreased"; + $report->update({ state => 'confirmed' }); }; + + subtest "test positive reputation" => sub { + $report->unset_extra_metadata('inspected'); + $report->update; + $report->inspection_log_entry->delete if $report->inspection_log_entry; + my $reputation = $report->user->get_extra_metadata("reputation") || 0; + $mech->get_ok("/report/$report_id"); + $mech->submit_form_ok({ button => 'save', with_fields => { state => 'action scheduled', include_update => undef } }); + $report->discard_changes; + is $report->get_extra_metadata('inspected'), 1, 'report marked as inspected'; + is $report->user->get_extra_metadata('reputation'), $reputation+1, "User reputation was increased"; + }; + + subtest "Oxfordshire-specific traffic management options are shown" => sub { + $report->update({ state => 'confirmed' }); + $mech->get_ok("/report/$report_id"); + $mech->submit_form_ok({ button => 'save', with_fields => { traffic_information => 'Signs and Cones', state => 'Action Scheduled', include_update => undef } }); + $report->discard_changes; + is $report->state, 'action scheduled', 'report state changed'; + is $report->get_extra_metadata('traffic_information'), 'Signs and Cones', 'report data changed'; + }; + }; FixMyStreet::override_config { - MAPIT_URL => 'http://mapit.mysociety.org/', ALLOWED_COBRANDS => [ 'oxfordshire', 'fixmystreet' ], BASE_URL => 'http://fixmystreet.site', }, sub { @@ -201,7 +225,7 @@ FixMyStreet::override_config { # which should cause it to be resent. We clear the host because # otherwise testing stays on host() above. $mech->clear_host; - $mech->submit_form(button => 'save', with_fields => { category => 'Horses' }); + $mech->submit_form(button => 'save', with_fields => { category => 'Horses', include_update => undef, }); $report->discard_changes; is $report->category, "Horses", "Report in correct category"; |