aboutsummaryrefslogtreecommitdiffstats
path: root/t/app/controller/report_inspect.t
diff options
context:
space:
mode:
Diffstat (limited to 't/app/controller/report_inspect.t')
-rw-r--r--t/app/controller/report_inspect.t50
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";