aboutsummaryrefslogtreecommitdiffstats
path: root/t/cobrand/isleofwight.t
diff options
context:
space:
mode:
Diffstat (limited to 't/cobrand/isleofwight.t')
-rw-r--r--t/cobrand/isleofwight.t39
1 files changed, 38 insertions, 1 deletions
diff --git a/t/cobrand/isleofwight.t b/t/cobrand/isleofwight.t
index 6c6450028..414b683cd 100644
--- a/t/cobrand/isleofwight.t
+++ b/t/cobrand/isleofwight.t
@@ -212,7 +212,6 @@ subtest "fixing passes along the correct message" => sub {
};
};
-
subtest 'Check special Open311 request handling', sub {
my ($p) = $mech->create_problems_for_body(1, $isleofwight->id, 'Title', { category => 'Potholes', latitude => 50.7108, longitude => -1.29573 });
$p->set_extra_fields({ name => 'urgent', value => 'no'});
@@ -237,6 +236,44 @@ subtest 'Check special Open311 request handling', sub {
is $c->param('attribute[urgent]'), undef, 'no urgent param sent';
};
+subtest "triaging a report includes user in message" => sub {
+ FixMyStreet::override_config {
+ MAPIT_URL => 'http://mapit.uk/',
+ ALLOWED_COBRANDS => 'isleofwight',
+ }, sub {
+ my $test_res = HTTP::Response->new();
+ $test_res->code(200);
+ $test_res->message('OK');
+ $test_res->content('<?xml version="1.0" encoding="utf-8"?><service_request_updates><request_update><update_id>248</update_id></request_update></service_request_updates>');
+
+ my $o = Open311->new(
+ fixmystreet_body => $isleofwight,
+ test_mode => 1,
+ test_get_returns => { 'servicerequestupdates.xml' => $test_res },
+ );
+
+ my ($p) = $mech->create_problems_for_body(1, $isleofwight->id, 'Title', { external_id => 1 });
+
+ my $c = FixMyStreet::App->model('DB::Comment')->create({
+ problem => $p, user => $p->user, anonymous => 't', text => 'Update text',
+ problem_state => 'confirmed', state => 'confirmed', mark_fixed => 0,
+ confirmed => DateTime->now(),
+ });
+ $c->set_extra_metadata('triage_report', 1);
+ $c->update;
+
+ my $id = $o->post_service_request_update($c);
+ is $id, 248, 'correct update ID returned';
+ my $cgi = CGI::Simple->new($o->test_req_used->content);
+ my $name = $p->user->name . ' \(' . $p->user->email . '\)';
+ like $cgi->param('description'), qr/^FMS-Update:/, 'FMS update prefix included';
+ like $cgi->param('description'), qr/Triaged by $name/, 'Triage user details included';
+
+ $p->comments->delete;
+ $p->delete;
+ };
+};
+
my ($p) = $mech->create_problems_for_body(1, $isleofwight->id, '', { cobrand => 'isleofwight' });
my $alert = FixMyStreet::App->model('DB::Alert')->create( {
parameter => $p->id,