diff options
author | Dave Arter <davea@mysociety.org> | 2018-06-22 16:03:39 +0100 |
---|---|---|
committer | Dave Arter <davea@mysociety.org> | 2018-06-22 16:03:39 +0100 |
commit | f7bd960140f0831c7ea047d12145e5b7e44ed4c8 (patch) | |
tree | 27d1440f5f06ecb27bcee85ac1f8511fa5f54363 /t/app/controller | |
parent | bbeb8db833e20bf956bd04700f7c6123e942c92d (diff) | |
parent | a9afc848d573cde06a770717a36fcd13d7915abb (diff) |
Merge branch '2172-inspect-issues'
Diffstat (limited to 't/app/controller')
-rw-r--r-- | t/app/controller/report_inspect.t | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/t/app/controller/report_inspect.t b/t/app/controller/report_inspect.t index 6a001225d..33e3b39c3 100644 --- a/t/app/controller/report_inspect.t +++ b/t/app/controller/report_inspect.t @@ -7,6 +7,14 @@ my $oxon = $mech->create_body_ok(2237, 'Oxfordshire County Council', { can_be_de my $contact = $mech->create_contact_ok( body_id => $oxon->id, category => 'Cows', email => 'cows@example.net' ); my $contact2 = $mech->create_contact_ok( body_id => $oxon->id, category => 'Sheep', email => 'SHEEP', send_method => 'Open311' ); my $contact3 = $mech->create_contact_ok( body_id => $oxon->id, category => 'Badgers', email => 'badgers@example.net' ); +my $dt = FixMyStreet::DB->resultset("DefectType")->create({ + body => $oxon, + name => 'Small Defect', description => "Teeny", +}); +FixMyStreet::DB->resultset("ContactDefectType")->create({ + contact => $contact, + defect_type => $dt, +}); my $rp = FixMyStreet::DB->resultset("ResponsePriority")->create({ body => $oxon, name => 'High Priority', @@ -394,6 +402,24 @@ FixMyStreet::override_config { is $report->response_priority->id, $rp->id, 'response priority set'; }; + subtest "check can set defect type for category when changing from category with no defect types" => sub { + $report->update({ category => 'Sheep', defect_type_id => undef }); + $user->user_body_permissions->delete; + $user->user_body_permissions->create({ body => $oxon, permission_type => 'report_inspect' }); + $mech->get_ok("/report/$report_id"); + $mech->submit_form_ok({ + button => 'save', + with_fields => { + include_update => 0, + defect_type => $dt->id, + category => 'Cows', + } + }); + $report->discard_changes; + is $report->defect_type->id, $dt->id, 'defect type set'; + $report->update({ defect_type_id => undef }); + }; + subtest "check can't set priority that isn't for a category" => sub { $report->discard_changes; $report->update({ category => 'Cows', response_priority_id => $rp->id }); @@ -414,6 +440,26 @@ FixMyStreet::override_config { is $report->response_priority, undef, 'response priority set'; }; + subtest "check can unset priority" => sub { + $report->discard_changes; + $report->update({ category => 'Cows', response_priority_id => $rp->id }); + $report->discard_changes; + is $report->response_priority->id, $rp->id, 'response priority set'; + $user->user_body_permissions->delete; + $user->user_body_permissions->create({ body => $oxon, permission_type => 'report_edit_category' }); + $user->user_body_permissions->create({ body => $oxon, permission_type => 'report_edit_priority' }); + $mech->get_ok("/report/$report_id"); + $mech->submit_form_ok({ + button => 'save', + with_fields => { + priority => "", + } + }); + + $report->discard_changes; + is $report->response_priority, undef, 'response priority unset'; + }; + subtest "check nearest address display" => sub { $mech->get_ok("/report/$report_id"); $mech->content_lacks('Nearest calculated address', 'No address displayed'); |