Skip to content

Commit 18e11fc

Browse files
committed
Add specs for package assign? pundit policy
1 parent 0bdf5d6 commit 18e11fc

File tree

2 files changed

+34
-0
lines changed

2 files changed

+34
-0
lines changed

src/api/spec/factories/relationship.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@
1919
factory :relationship_package_user_as_bugowner do
2020
role { Role.find_by_title('bugowner') }
2121
end
22+
23+
factory :relationship_package_user_as_reviewer do
24+
role { Role.find_by_title('reviewer') }
25+
end
2226
end
2327

2428
factory :relationship_package_group do

src/api/spec/policies/package_policy_spec.rb

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,4 +84,34 @@
8484
it { expect(subject).to permit(admin_user, package) }
8585
it { expect(subject).to permit(user, package) }
8686
end
87+
88+
permissions :assign? do
89+
before do
90+
Flipper.enable(:foster_collaboration)
91+
end
92+
93+
it { expect(subject).to permit(admin_user, package) }
94+
95+
context 'as a bugowner' do
96+
let!(:bugowner_relationship) { create(:relationship_package_user_as_bugowner, user: other_user, package: package) }
97+
98+
it { expect(subject).to permit(other_user, package) }
99+
end
100+
101+
context 'as a maintainer' do
102+
let!(:relationship_package_maintainer) { create(:relationship_package_user, package: package, user: other_user) }
103+
104+
it { expect(subject).to permit(other_user, package) }
105+
end
106+
107+
context 'as a reviewer' do
108+
let!(:reviewer_relationship) { create(:relationship_package_user_as_reviewer, user: other_user, package: package) }
109+
110+
it { expect(subject).to permit(other_user, package) }
111+
end
112+
113+
context 'as user without any role' do
114+
it { expect(subject).not_to permit(other_user, package) }
115+
end
116+
end
87117
end

0 commit comments

Comments
 (0)