diff options
| -rw-r--r-- | app/policies/network_policy.rb | 11 | ||||
| -rw-r--r-- | spec/policies/network_policy_spec.rb | 10 |
2 files changed, 16 insertions, 5 deletions
diff --git a/app/policies/network_policy.rb b/app/policies/network_policy.rb index 9f86451a5..9b871d2b5 100644 --- a/app/policies/network_policy.rb +++ b/app/policies/network_policy.rb @@ -4,4 +4,15 @@ class NetworkPolicy < ApplicationPolicy scope end end + def create? + user.has_permission?('networks.create') + end + + def destroy? + user.has_permission?('networks.destroy') + end + + def update? + user.has_permission?('networks.update') + end end diff --git a/spec/policies/network_policy_spec.rb b/spec/policies/network_policy_spec.rb index 6dc3f0d46..2b7bbcdca 100644 --- a/spec/policies/network_policy_spec.rb +++ b/spec/policies/network_policy_spec.rb @@ -24,19 +24,19 @@ RSpec.describe Chouette::NetworkPolicy, type: :policy do context 'Destructive actions →' do permissions :create? do - it_behaves_like 'always forbidden', 'networks.create', archived_and_finalised: true + it_behaves_like 'permitted policy', 'networks.create' end permissions :destroy? do - it_behaves_like 'always forbidden', 'networks.destroy', archived_and_finalised: true + it_behaves_like 'permitted policy', 'networks.destroy' end permissions :edit? do - it_behaves_like 'always forbidden', 'networks.update', archived_and_finalised: true + it_behaves_like 'permitted policy', 'networks.update' end permissions :new? do - it_behaves_like 'always forbidden', 'networks.create', archived_and_finalised: true + it_behaves_like 'permitted policy', 'networks.create' end permissions :update? do - it_behaves_like 'always forbidden', 'networks.update', archived_and_finalised: true + it_behaves_like 'permitted policy', 'networks.update' end end end |
