diff options
Diffstat (limited to 'spec/policies/calendar_policy_spec.rb')
| -rw-r--r-- | spec/policies/calendar_policy_spec.rb | 37 |
1 files changed, 6 insertions, 31 deletions
diff --git a/spec/policies/calendar_policy_spec.rb b/spec/policies/calendar_policy_spec.rb index f4423fb82..57f771c54 100644 --- a/spec/policies/calendar_policy_spec.rb +++ b/spec/policies/calendar_policy_spec.rb @@ -1,47 +1,22 @@ RSpec.describe CalendarPolicy, type: :policy do let( :record ){ build_stubbed :calendar } + before { stub_policy_scope(record) } - shared_examples 'authorizes on archived and same organisation only' do - | permission, archived: false| - context 'same organisation →' do - before do - user.organisation_id = referential.organisation_id - end - it "allows a user with the same organisation" do - expect_it.to permit(user_context, record) - end - if archived - it 'removes permission for archived referentials' do - referential.archived_at = 42.seconds.ago - expect_it.not_to permit(user_context, record) - end - end - end - - context 'different organisations →' do - before do - add_permissions(permission, for_user: user) - end - it "denies a user with a different organisation" do - expect_it.not_to permit(user_context, record) - end - end - end permissions :create? do - it_behaves_like 'authorizes on archived and same organisation only', 'calendars.create', archived: true + it_behaves_like 'permitted policy and same organisation', 'calendars.create', archived: true end permissions :destroy? do - it_behaves_like 'authorizes on archived and same organisation only', 'calendars.destroy', archived: true + it_behaves_like 'permitted policy and same organisation', 'calendars.destroy', archived: true end permissions :edit? do - it_behaves_like 'authorizes on archived and same organisation only', 'calendars.update', archived: true + it_behaves_like 'permitted policy and same organisation', 'calendars.update', archived: true end permissions :new? do - it_behaves_like 'authorizes on archived and same organisation only', 'calendars.create', archived: true + it_behaves_like 'permitted policy and same organisation', 'calendars.create', archived: true end permissions :update? do - it_behaves_like 'authorizes on archived and same organisation only', 'calendars.update', archived: true + it_behaves_like 'permitted policy and same organisation', 'calendars.update', archived: true end end |
