aboutsummaryrefslogtreecommitdiffstats
path: root/spec/policies
diff options
context:
space:
mode:
authorZog2018-04-27 15:07:25 +0200
committerJohan Van Ryseghem2018-04-27 15:13:51 +0200
commite1425294874b4cd4d71668e7669220252ea2e936 (patch)
tree89d2877305ad5e066e47f3692b1d0b619c381eb1 /spec/policies
parent3ed5ca0e97c287977646b7af6a41632c9dd3ad49 (diff)
downloadchouette-core-e1425294874b4cd4d71668e7669220252ea2e936.tar.bz2
Refs #6572; Fix specs
Diffstat (limited to 'spec/policies')
-rw-r--r--spec/policies/referential_policy_spec.rb225
1 files changed, 112 insertions, 113 deletions
diff --git a/spec/policies/referential_policy_spec.rb b/spec/policies/referential_policy_spec.rb
index 778e14901..f922ef379 100644
--- a/spec/policies/referential_policy_spec.rb
+++ b/spec/policies/referential_policy_spec.rb
@@ -1,160 +1,159 @@
# coding: utf-8
RSpec.describe ReferentialPolicy, type: :policy do
- let( :record ){ build_stubbed :referential }
-
-
#
# Collection Based Permissions differ from standard as there is no referential yet
# --------------------------------------------------------------------------------
-
- permissions :create? do
- it 'permissions present → allowed' do
- add_permissions('referentials.create', to_user: user)
- expect_it.to permit(user_context, record)
- end
- it 'permissions absent → forbidden' do
- expect_it.not_to permit(user_context, record)
+ context "on a ready referential" do
+ let( :record ){ referential }
+ permissions :create? do
+ it 'permissions present → allowed' do
+ add_permissions('referentials.create', to_user: user)
+ expect_it.to permit(user_context, record)
+ end
+ it 'permissions absent → forbidden' do
+ expect_it.not_to permit(user_context, record)
+ end
end
- end
- permissions :new? do
- it 'permissions present → allowed' do
- add_permissions('referentials.create', to_user: user)
- expect_it.to permit(user_context, record)
- end
- it 'permissions absent → forbidden' do
- expect_it.not_to permit(user_context, record)
+ permissions :new? do
+ it 'permissions present → allowed' do
+ add_permissions('referentials.create', to_user: user)
+ expect_it.to permit(user_context, record)
+ end
+ it 'permissions absent → forbidden' do
+ expect_it.not_to permit(user_context, record)
+ end
end
- end
-
- #
- # Standard Destructive Action Permissions
- # ---------------------------------------
- permissions :destroy? do
- it_behaves_like 'permitted policy and same organisation', 'referentials.destroy', archived_and_finalised: true
- end
- permissions :edit? do
- it_behaves_like 'permitted policy and same organisation', 'referentials.update', archived_and_finalised: true
- end
- permissions :update? do
- it_behaves_like 'permitted policy and same organisation', 'referentials.update', archived_and_finalised: true
- end
+ #
+ # Standard Destructive Action Permissions
+ # ---------------------------------------
- #
- # Custom Permissions
- # ------------------
+ permissions :destroy? do
+ it_behaves_like 'permitted policy and same organisation', 'referentials.destroy', archived_and_finalised: true
+ end
+ permissions :edit? do
+ it_behaves_like 'permitted policy and same organisation', 'referentials.update', archived_and_finalised: true
+ end
+ permissions :update? do
+ it_behaves_like 'permitted policy and same organisation', 'referentials.update', archived_and_finalised: true
+ end
- # permissions :clone? do
- # it_behaves_like 'permitted policy', 'referentials.create', archived_and_finalised: true
- # end
+ #
+ # Custom Permissions
+ # ------------------
- permissions :archive? do
+ # permissions :clone? do
+ # it_behaves_like 'permitted policy', 'referentials.create', archived_and_finalised: true
+ # end
- context 'permission present →' do
- before do
- add_permissions('referentials.update', to_user: user)
- end
+ permissions :archive? do
- context 'same organisation →' do
+ context 'permission present →' 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)
+ add_permissions('referentials.update', to_user: user)
end
- describe "archived" do
- let( :record ){ build_stubbed :referential, archived_at: 2.minutes.ago }
- it 'does remove permission for archived referentials' do
- expect_it.not_to permit(user_context, record)
- end
- end
- end
- context 'different organisations →' do
- it "forbids a user with a different organisation" do
- expect_it.not_to permit(user_context, record)
+ 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
+ describe "archived" do
+ let( :record ){ build_stubbed :referential, archived_at: 2.minutes.ago, ready: true }
+ it 'does remove permission for archived referentials' do
+ expect_it.not_to permit(user_context, record)
+ end
+ end
end
- describe "archived" do
- let( :record ){ build_stubbed :referential, archived_at: 2.minutes.ago }
- it 'forbids for archived referentials' do
+ context 'different organisations →' do
+ it "forbids a user with a different organisation" do
expect_it.not_to permit(user_context, record)
end
- end
- end
- end
+ describe "archived" do
+ let( :record ){ build_stubbed :referential, archived_at: 2.minutes.ago, ready: true }
+ it 'forbids for archived referentials' do
+ expect_it.not_to permit(user_context, record)
+ end
+ end
- context 'permission absent →' do
- context 'same organisation →' do
- before do
- user.organisation_id = referential.organisation_id
end
- it "forbids a user with the same organisation" do
- expect_it.not_to permit(user_context, record)
- end
- describe "archived" do
- let( :record ){ build_stubbed :referential, archived_at: 2.minutes.ago }
- it 'forbids for archived referentials' do
+ end
+
+ context 'permission absent →' do
+ context 'same organisation →' do
+ before do
+ user.organisation_id = referential.organisation_id
+ end
+ it "forbids a user with the same organisation" do
expect_it.not_to permit(user_context, record)
end
+ describe "archived" do
+ let( :record ){ build_stubbed :referential, archived_at: 2.minutes.ago, ready: true }
+ it 'forbids for archived referentials' do
+ expect_it.not_to permit(user_context, record)
+ end
+ end
end
end
end
- end
- permissions :unarchive? do
-
- context 'permission present →' do
- before do
- add_permissions('referentials.update', to_user: user)
- end
+ permissions :unarchive? do
- context 'same organisation →' do
+ context 'permission present →' do
before do
- user.organisation_id = referential.organisation_id
- end
- it "forbids a user with the same organisation" do
- expect_it.not_to permit(user_context, record)
- end
- describe "archived" do
- let( :record ){ build_stubbed :referential, archived_at: 2.minutes.ago }
- it 'adds permission for archived referentials' do
- expect_it.to permit(user_context, record)
- end
+ add_permissions('referentials.update', to_user: user)
end
- end
- context 'different organisations →' do
- it "forbids a user with a different organisation" do
- expect_it.not_to permit(user_context, record)
+ context 'same organisation →' do
+ before do
+ user.organisation_id = referential.organisation_id
+ end
+ it "forbids a user with the same organisation" do
+ expect_it.not_to permit(user_context, record)
+ end
+ describe "archived" do
+ let( :record ){ build_stubbed :referential, archived_at: 2.minutes.ago, ready: true }
+ it 'adds permission for archived referentials' do
+ expect_it.to permit(user_context, record)
+ end
+ end
end
- describe "archived" do
- let( :record ){ build_stubbed :referential, archived_at: 2.minutes.ago }
- it 'still forbids for archived referentials' do
+ context 'different organisations →' do
+ it "forbids a user with a different organisation" do
expect_it.not_to permit(user_context, record)
end
- end
- end
- end
+ describe "archived" do
+ let( :record ){ build_stubbed :referential, archived_at: 2.minutes.ago, ready: true }
+ it 'still forbids for archived referentials' do
+ expect_it.not_to permit(user_context, record)
+ end
+ end
- context 'permission absent →' do
- context 'same organisation →' do
- before do
- user.organisation_id = referential.organisation_id
end
- it "forbids a user with a different rganisation" do
- expect_it.not_to permit(user_context, record)
- end
- describe "archived" do
- let( :record ){ build_stubbed :referential, archived_at: 2.minutes.ago }
- it 'still forbids for archived referentials' do
+ end
+
+ context 'permission absent →' do
+ context 'same organisation →' do
+ before do
+ user.organisation_id = referential.organisation_id
+ end
+ it "forbids a user with a different rganisation" do
expect_it.not_to permit(user_context, record)
end
+ describe "archived" do
+ let( :record ){ build_stubbed :referential, archived_at: 2.minutes.ago, ready: true }
+ it 'still forbids for archived referentials' do
+ expect_it.not_to permit(user_context, record)
+ end
+ end
end
end
end