aboutsummaryrefslogtreecommitdiffstats
path: root/t/app
diff options
context:
space:
mode:
authorMatthew Somerville <matthew-github@dracos.co.uk>2016-09-08 13:53:16 +0100
committerMatthew Somerville <matthew-github@dracos.co.uk>2016-09-09 16:36:06 +0100
commita86124e579dd23d04a3539358cc3b9c77f474b11 (patch)
tree62b235e8d7042c38bd3794e9d5c695bcbcd37b1e /t/app
parentb09ed851c874ac9abd8fb94d9ef995e828a628da (diff)
Add new category_edit restriction for viewing body admin.
Diffstat (limited to 't/app')
-rw-r--r--t/app/controller/admin.t147
-rw-r--r--t/app/controller/admin_permissions.t4
2 files changed, 29 insertions, 122 deletions
diff --git a/t/app/controller/admin.t b/t/app/controller/admin.t
index 61e8b21e4..8c3cde4b7 100644
--- a/t/app/controller/admin.t
+++ b/t/app/controller/admin.t
@@ -1148,6 +1148,25 @@ $user->update;
my $southend = $mech->create_body_ok(2607, 'Southend-on-Sea Borough Council');
+my %default_perms = (
+ "permissions[moderate]" => undef,
+ "permissions[planned_reports]" => undef,
+ "permissions[report_edit]" => undef,
+ "permissions[report_edit_category]" => undef,
+ "permissions[report_edit_priority]" => undef,
+ "permissions[report_inspect]" => undef,
+ "permissions[report_instruct]" => undef,
+ "permissions[contribute_as_another_user]" => undef,
+ "permissions[contribute_as_body]" => undef,
+ "permissions[user_edit]" => undef,
+ "permissions[user_manage_permissions]" => undef,
+ "permissions[user_assign_body]" => undef,
+ "permissions[user_assign_areas]" => undef,
+ "permissions[template_edit]" => undef,
+ "permissions[responsepriority_edit]" => undef,
+ "permissions[category_edit]" => undef,
+);
+
FixMyStreet::override_config {
MAPIT_URL => 'http://mapit.uk/',
}, sub {
@@ -1163,21 +1182,7 @@ FixMyStreet::override_config {
flagged => undef,
is_superuser => undef,
area_id => '',
- "permissions[moderate]" => undef,
- "permissions[planned_reports]" => undef,
- "permissions[report_edit]" => undef,
- "permissions[report_edit_category]" => undef,
- "permissions[report_edit_priority]" => undef,
- "permissions[report_inspect]" => undef,
- "permissions[report_instruct]" => undef,
- "permissions[contribute_as_another_user]" => undef,
- "permissions[contribute_as_body]" => undef,
- "permissions[user_edit]" => undef,
- "permissions[user_manage_permissions]" => undef,
- "permissions[user_assign_body]" => undef,
- "permissions[user_assign_areas]" => undef,
- "permissions[template_edit]" => undef,
- "permissions[responsepriority_edit]" => undef,
+ %default_perms,
},
changes => {
name => 'Changed User',
@@ -1195,21 +1200,7 @@ FixMyStreet::override_config {
flagged => undef,
is_superuser => undef,
area_id => '',
- "permissions[moderate]" => undef,
- "permissions[planned_reports]" => undef,
- "permissions[report_edit]" => undef,
- "permissions[report_edit_category]" => undef,
- "permissions[report_edit_priority]" => undef,
- "permissions[report_inspect]" => undef,
- "permissions[report_instruct]" => undef,
- "permissions[contribute_as_another_user]" => undef,
- "permissions[contribute_as_body]" => undef,
- "permissions[user_edit]" => undef,
- "permissions[user_manage_permissions]" => undef,
- "permissions[user_assign_body]" => undef,
- "permissions[user_assign_areas]" => undef,
- "permissions[template_edit]" => undef,
- "permissions[responsepriority_edit]" => undef,
+ %default_perms,
},
changes => {
email => 'changed@example.com',
@@ -1227,21 +1218,7 @@ FixMyStreet::override_config {
flagged => undef,
is_superuser => undef,
area_id => '',
- "permissions[moderate]" => undef,
- "permissions[planned_reports]" => undef,
- "permissions[report_edit]" => undef,
- "permissions[report_edit_category]" => undef,
- "permissions[report_edit_priority]" => undef,
- "permissions[report_inspect]" => undef,
- "permissions[report_instruct]" => undef,
- "permissions[contribute_as_another_user]" => undef,
- "permissions[contribute_as_body]" => undef,
- "permissions[user_edit]" => undef,
- "permissions[user_manage_permissions]" => undef,
- "permissions[user_assign_body]" => undef,
- "permissions[user_assign_areas]" => undef,
- "permissions[template_edit]" => undef,
- "permissions[responsepriority_edit]" => undef,
+ %default_perms,
},
changes => {
body => $southend->id,
@@ -1259,21 +1236,7 @@ FixMyStreet::override_config {
flagged => undef,
is_superuser => undef,
area_id => '',
- "permissions[moderate]" => undef,
- "permissions[planned_reports]" => undef,
- "permissions[report_edit]" => undef,
- "permissions[report_edit_category]" => undef,
- "permissions[report_edit_priority]" => undef,
- "permissions[report_inspect]" => undef,
- "permissions[report_instruct]" => undef,
- "permissions[contribute_as_another_user]" => undef,
- "permissions[contribute_as_body]" => undef,
- "permissions[user_edit]" => undef,
- "permissions[user_manage_permissions]" => undef,
- "permissions[user_assign_body]" => undef,
- "permissions[user_assign_areas]" => undef,
- "permissions[template_edit]" => undef,
- "permissions[responsepriority_edit]" => undef,
+ %default_perms,
},
changes => {
flagged => 'on',
@@ -1291,21 +1254,7 @@ FixMyStreet::override_config {
flagged => 'on',
is_superuser => undef,
area_id => '',
- "permissions[moderate]" => undef,
- "permissions[planned_reports]" => undef,
- "permissions[report_edit]" => undef,
- "permissions[report_edit_category]" => undef,
- "permissions[report_edit_priority]" => undef,
- "permissions[report_inspect]" => undef,
- "permissions[report_instruct]" => undef,
- "permissions[contribute_as_another_user]" => undef,
- "permissions[contribute_as_body]" => undef,
- "permissions[user_edit]" => undef,
- "permissions[user_manage_permissions]" => undef,
- "permissions[user_assign_body]" => undef,
- "permissions[user_assign_areas]" => undef,
- "permissions[template_edit]" => undef,
- "permissions[responsepriority_edit]" => undef,
+ %default_perms,
},
changes => {
flagged => undef,
@@ -1323,41 +1272,13 @@ FixMyStreet::override_config {
flagged => undef,
is_superuser => undef,
area_id => '',
- "permissions[moderate]" => undef,
- "permissions[planned_reports]" => undef,
- "permissions[report_edit]" => undef,
- "permissions[report_edit_category]" => undef,
- "permissions[report_edit_priority]" => undef,
- "permissions[report_inspect]" => undef,
- "permissions[report_instruct]" => undef,
- "permissions[contribute_as_another_user]" => undef,
- "permissions[contribute_as_body]" => undef,
- "permissions[user_edit]" => undef,
- "permissions[user_manage_permissions]" => undef,
- "permissions[user_assign_body]" => undef,
- "permissions[user_assign_areas]" => undef,
- "permissions[template_edit]" => undef,
- "permissions[responsepriority_edit]" => undef,
+ %default_perms,
},
changes => {
is_superuser => 'on',
},
removed => [
- "permissions[moderate]",
- "permissions[planned_reports]",
- "permissions[report_edit]",
- "permissions[report_edit_category]",
- "permissions[report_edit_priority]",
- "permissions[report_inspect]",
- "permissions[report_instruct]",
- "permissions[contribute_as_another_user]",
- "permissions[contribute_as_body]",
- "permissions[user_edit]",
- "permissions[user_manage_permissions]",
- "permissions[user_assign_body]",
- "permissions[user_assign_areas]",
- "permissions[template_edit]",
- "permissions[responsepriority_edit]",
+ keys %default_perms,
],
log_count => 5,
log_entries => [qw/edit edit edit edit edit/],
@@ -1377,21 +1298,7 @@ FixMyStreet::override_config {
is_superuser => undef,
},
added => {
- "permissions[moderate]" => undef,
- "permissions[planned_reports]" => undef,
- "permissions[report_edit]" => undef,
- "permissions[report_edit_category]" => undef,
- "permissions[report_edit_priority]" => undef,
- "permissions[report_inspect]" => undef,
- "permissions[report_instruct]" => undef,
- "permissions[contribute_as_another_user]" => undef,
- "permissions[contribute_as_body]" => undef,
- "permissions[user_edit]" => undef,
- "permissions[user_manage_permissions]" => undef,
- "permissions[user_assign_body]" => undef,
- "permissions[user_assign_areas]" => undef,
- "permissions[template_edit]" => undef,
- "permissions[responsepriority_edit]" => undef,
+ %default_perms,
},
log_count => 5,
log_entries => [qw/edit edit edit edit edit/],
diff --git a/t/app/controller/admin_permissions.t b/t/app/controller/admin_permissions.t
index 2c271ba4c..4b05660cc 100644
--- a/t/app/controller/admin_permissions.t
+++ b/t/app/controller/admin_permissions.t
@@ -47,7 +47,7 @@ subtest "Users can't edit report without report_edit permission" => sub {
}, sub {
$mech->get("/admin/report_edit/$report_id");
ok !$mech->res->is_success(), "want a bad response";
- is $mech->res->code, 403, "got 403, can't edit report without report_edit permission";
+ is $mech->res->code, 404, "got 404, can't edit report without report_edit permission";
};
};
@@ -100,7 +100,7 @@ FixMyStreet::override_config {
$report->update({ user => $report_user });
foreach my $from_body (undef, $bromley, $oxfordshire) {
$user2->update({ from_body => $from_body });
- my $result = ($from_body || '') eq $oxfordshire || $report->user eq $user2 ? ($perm ? 200 : 403 ) : 404;
+ my $result = ($from_body || '') eq $oxfordshire || $report->user eq $user2 ? ($perm ? 200 : 404 ) : 404;
my $u = $result == 200 ? 'can' : 'cannot';
my $b = $from_body ? $from_body->name : 'no body';
my $p = $perm ? 'with' : 'without';