Factorize policy helpers into PolicyHelpers

Signed-off-by: Rémy Coutable <remy@rymai.me>
This commit is contained in:
Rémy Coutable 2019-03-27 13:45:00 +01:00
parent 1983d05ccd
commit ce4b70ce18
No known key found for this signature in database
GPG Key ID: 98DFFD1C0C62B70B
6 changed files with 12 additions and 32 deletions

View File

@ -17,14 +17,6 @@ describe BoardPolicy do
]
end
def expect_allowed(*permissions)
permissions.each { |p| is_expected.to be_allowed(p) }
end
def expect_disallowed(*permissions)
permissions.each { |p| is_expected.not_to be_allowed(p) }
end
context 'group board' do
subject { described_class.new(user, group_board) }

View File

@ -51,14 +51,6 @@ describe GroupPolicy do
subject { described_class.new(current_user, group) }
def expect_allowed(*permissions)
permissions.each { |p| is_expected.to be_allowed(p) }
end
def expect_disallowed(*permissions)
permissions.each { |p| is_expected.not_to be_allowed(p) }
end
context 'with no user' do
let(:group) { create(:group, :public) }
let(:current_user) { nil }

View File

@ -15,14 +15,6 @@ describe ProjectSnippetPolicy do
subject { described_class.new(current_user, snippet) }
def expect_allowed(*permissions)
permissions.each { |p| is_expected.to be_allowed(p) }
end
def expect_disallowed(*permissions)
permissions.each { |p| is_expected.not_to be_allowed(p) }
end
context 'public snippet' do
let(:snippet_visibility) { :public }

View File

@ -96,6 +96,7 @@ RSpec.configure do |config|
config.include MigrationsHelpers, :migration
config.include RedisHelpers
config.include Rails.application.routes.url_helpers, type: :routing
config.include PolicyHelpers, type: :policy
if ENV['CI']
# This includes the first try, i.e. tests will be run 4 times before failing.

View File

@ -0,0 +1,11 @@
# frozen_string_literal: true
module PolicyHelpers
def expect_allowed(*permissions)
permissions.each { |p| is_expected.to be_allowed(p) }
end
def expect_disallowed(*permissions)
permissions.each { |p| is_expected.not_to be_allowed(p) }
end
end

View File

@ -85,12 +85,4 @@ RSpec.shared_context 'ProjectPolicy context' do
project.add_developer(developer)
project.add_reporter(reporter)
end
def expect_allowed(*permissions)
permissions.each { |p| is_expected.to be_allowed(p) }
end
def expect_disallowed(*permissions)
permissions.each { |p| is_expected.not_to be_allowed(p) }
end
end