diff options
author | Struan Donald <struan@exo.org.uk> | 2018-09-28 16:04:50 +0100 |
---|---|---|
committer | Struan Donald <struan@exo.org.uk> | 2018-09-28 16:04:50 +0100 |
commit | c01a986773642a152095b25f1d006ca561e975e0 (patch) | |
tree | 05ad96349ba80dcc19b8a3748b346dc3b1aa7f0a | |
parent | 6b1ff7d44d1b7533bf5037c0a9c1c5d8db4e1e0b (diff) | |
parent | 31e2a02395b4b3479e8abb7949a29fc437aa6ef6 (diff) |
Merge branch 'issues/commercial/1192-pre-occ-go-live'
-rw-r--r-- | perllib/FixMyStreet/Cobrand/Oxfordshire.pm | 7 | ||||
-rw-r--r-- | t/app/controller/admin/defecttypes.t | 11 | ||||
-rw-r--r-- | t/app/controller/admin/permissions.t | 8 | ||||
-rw-r--r-- | t/app/controller/my_planned.t | 8 |
4 files changed, 34 insertions, 0 deletions
diff --git a/perllib/FixMyStreet/Cobrand/Oxfordshire.pm b/perllib/FixMyStreet/Cobrand/Oxfordshire.pm index be404c4be..392bf37c3 100644 --- a/perllib/FixMyStreet/Cobrand/Oxfordshire.pm +++ b/perllib/FixMyStreet/Cobrand/Oxfordshire.pm @@ -234,6 +234,13 @@ sub available_permissions { my $perms = $self->next::method(); $perms->{Bodies}->{defect_type_edit} = "Add/edit defect types"; + delete $perms->{Problems}->{report_edit}; + delete $perms->{Problems}->{report_edit_category}; + delete $perms->{Problems}->{report_edit_priority}; + delete $perms->{Problems}->{report_inspect}; + delete $perms->{Problems}->{report_instruct}; + delete $perms->{Problems}->{planned_reports}; + return $perms; } diff --git a/t/app/controller/admin/defecttypes.t b/t/app/controller/admin/defecttypes.t index 1eaab8414..12ae8948c 100644 --- a/t/app/controller/admin/defecttypes.t +++ b/t/app/controller/admin/defecttypes.t @@ -1,4 +1,5 @@ use FixMyStreet::TestMech; +use Test::MockModule; my $mech = FixMyStreet::TestMech->new; @@ -26,6 +27,16 @@ FixMyStreet::override_config { ALLOWED_COBRANDS => ['bromley'], }, sub { FixMyStreet::override_config { ALLOWED_COBRANDS => ['oxfordshire'], }, sub { + my $cobrand = Test::MockModule->new('FixMyStreet::Cobrand::Oxfordshire'); + $cobrand->mock('available_permissions', sub { + my $self = shift; + + my $perms = FixMyStreet::Cobrand::Default->available_permissions; + $perms->{Bodies}->{defect_type_edit} = "Add/edit defect types"; + + return $perms; + }); + my $body = $mech->create_body_ok( 2237, 'Oxfordshire County Council' ); subtest 'check defect types menu available to superusers' => sub { diff --git a/t/app/controller/admin/permissions.t b/t/app/controller/admin/permissions.t index e7f85d140..3fc221a63 100644 --- a/t/app/controller/admin/permissions.t +++ b/t/app/controller/admin/permissions.t @@ -1,4 +1,5 @@ use FixMyStreet::TestMech; +use Test::MockModule; my $mech = FixMyStreet::TestMech->new; @@ -28,6 +29,13 @@ ok $report, "created test report - $report_id"; $mech->log_in_ok( $oxfordshireuser->email ); +my $cobrand = Test::MockModule->new('FixMyStreet::Cobrand::Oxfordshire'); +$cobrand->mock('available_permissions', sub { + my $self = shift; + + return FixMyStreet::Cobrand::Default->available_permissions; +}); + subtest "Users can't edit report without report_edit permission" => sub { FixMyStreet::override_config { ALLOWED_COBRANDS => [ 'oxfordshire' ], diff --git a/t/app/controller/my_planned.t b/t/app/controller/my_planned.t index 67d59e148..a6a47a798 100644 --- a/t/app/controller/my_planned.t +++ b/t/app/controller/my_planned.t @@ -1,4 +1,5 @@ use FixMyStreet::TestMech; +use Test::MockModule; my $mech = FixMyStreet::TestMech->new; $mech->get_ok('/my/planned'); @@ -187,6 +188,13 @@ FixMyStreet::override_config { ALLOWED_COBRANDS => [ 'oxfordshire' ], BASE_URL => 'http://oxfordshire.fixmystreet.site', }, sub { + my $cobrand = Test::MockModule->new('FixMyStreet::Cobrand::Oxfordshire'); + $cobrand->mock('available_permissions', sub { + my $self = shift; + + return FixMyStreet::Cobrand::Default->available_permissions; + }); + subtest "can remove problems not displayed in cobrand from shortlist" => sub { $user->user_planned_reports->remove(); my ($problem1) = $mech->create_problems_for_body(2, $body->id, 'New Problem'); |