aboutsummaryrefslogtreecommitdiffstats
path: root/spec/policies
diff options
context:
space:
mode:
Diffstat (limited to 'spec/policies')
-rw-r--r--spec/policies/application_policy_spec.rb31
-rw-r--r--spec/policies/boiv_policy_spec.rb16
-rw-r--r--spec/policies/time_table_policy_spec.rb23
3 files changed, 18 insertions, 52 deletions
diff --git a/spec/policies/application_policy_spec.rb b/spec/policies/application_policy_spec.rb
index 4433e18b8..a7234461e 100644
--- a/spec/policies/application_policy_spec.rb
+++ b/spec/policies/application_policy_spec.rb
@@ -1,11 +1,5 @@
RSpec.describe ApplicationPolicy, type: :policy do
- let( :user_context ) { create_user_context(user: user, referential: referential) }
- let( :referentail ) { create :referential }
- let( :user ) { create :user }
-
- subject { described_class }
-
permissions :organisation_match? do
it "denies a user with a different organisation" do
@@ -18,29 +12,4 @@ RSpec.describe ApplicationPolicy, type: :policy do
end
end
- permissions :boiv_read_offer? do
-
- context "user of a different organisation → " do
- it "denies a user with a different organisation" do
- expect_it.not_to permit(user_context, referential)
- end
- it "even if she has the permisson" do
- add_permissions('boiv:read-offer', for_user: user)
- expect_it.not_to permit(user_context, referential)
- end
- end
-
- context "user of the same organisation → " do
- before do
- user.update_attribute :organisation, referential.organisation
- end
- it "denies if permission absent" do
- expect_it.not_to permit(user_context, referential)
- end
- it "allows if permission present" do
- add_permissions('boiv:read-offer', for_user: user)
- expect_it.to permit(user_context, referential)
- end
- end
- end
end
diff --git a/spec/policies/boiv_policy_spec.rb b/spec/policies/boiv_policy_spec.rb
new file mode 100644
index 000000000..3af82ddfe
--- /dev/null
+++ b/spec/policies/boiv_policy_spec.rb
@@ -0,0 +1,16 @@
+RSpec.describe BoivPolicy, type: :policy do
+
+
+ permissions :index? do
+ it_behaves_like 'permitted and same organisation', 'boiv:read-offer'
+ end
+
+ permissions :boiv_read_offer? do
+ it_behaves_like 'permitted and same organisation', 'boiv:read-offer'
+ end
+
+ permissions :show? do
+ it_behaves_like 'permitted and same organisation', 'boiv:read-offer'
+ end
+
+end
diff --git a/spec/policies/time_table_policy_spec.rb b/spec/policies/time_table_policy_spec.rb
index 63bd316e4..48beea75d 100644
--- a/spec/policies/time_table_policy_spec.rb
+++ b/spec/policies/time_table_policy_spec.rb
@@ -1,26 +1,7 @@
RSpec.describe TimeTablePolicy, type: :policy do
permissions :duplicate? do
- context "user of a different organisation" do
- it "is denied" do
- expect_it.not_to permit(user_context, referential)
- end
- it "even if she has the time_tables.create permission" do
- add_permissions 'time_tables.create', for_user: user
- expect_it.not_to permit(user_context, referential)
- end
- end
- context "user of the same organisation" do
- before do
- user.update_attribute :organisation, referential.organisation
- end
- it "is denied" do
- expect_it.not_to permit(user_context, referential)
- end
- it "unless she has the time_tables.create permission" do
- add_permissions 'time_tables.create', for_user: user
- expect_it.to permit(user_context, referential)
- end
- end
+ it_behaves_like 'permitted and same organisation', 'time_tables.create'
end
+
end