summaryrefslogtreecommitdiff
path: root/spec/policies
diff options
context:
space:
mode:
Diffstat (limited to 'spec/policies')
-rw-r--r--spec/policies/application_setting/term_policy_spec.rb18
-rw-r--r--spec/policies/base_policy_spec.rb10
-rw-r--r--spec/policies/board_policy_spec.rb16
-rw-r--r--spec/policies/ci/build_policy_spec.rb120
-rw-r--r--spec/policies/ci/pipeline_policy_spec.rb48
-rw-r--r--spec/policies/ci/pipeline_schedule_policy_spec.rb44
-rw-r--r--spec/policies/ci/trigger_policy_spec.rb56
-rw-r--r--spec/policies/clusters/cluster_policy_spec.rb18
-rw-r--r--spec/policies/concerns/policy_actor_spec.rb4
-rw-r--r--spec/policies/deploy_key_policy_spec.rb18
-rw-r--r--spec/policies/deploy_token_policy_spec.rb14
-rw-r--r--spec/policies/environment_policy_spec.rb28
-rw-r--r--spec/policies/global_policy_spec.rb62
-rw-r--r--spec/policies/group_policy_spec.rb96
-rw-r--r--spec/policies/issuable_policy_spec.rb28
-rw-r--r--spec/policies/issue_policy_spec.rb54
-rw-r--r--spec/policies/namespace_policy_spec.rb12
-rw-r--r--spec/policies/note_policy_spec.rb66
-rw-r--r--spec/policies/personal_snippet_policy_spec.rb36
-rw-r--r--spec/policies/project_policy_spec.rb152
-rw-r--r--spec/policies/project_snippet_policy_spec.rb36
-rw-r--r--spec/policies/protected_branch_policy_spec.rb6
-rw-r--r--spec/policies/user_policy_spec.rb10
23 files changed, 476 insertions, 476 deletions
diff --git a/spec/policies/application_setting/term_policy_spec.rb b/spec/policies/application_setting/term_policy_spec.rb
index 93b5ebf5f72..7f7fce19dc6 100644
--- a/spec/policies/application_setting/term_policy_spec.rb
+++ b/spec/policies/application_setting/term_policy_spec.rb
@@ -1,4 +1,4 @@
-require 'spec_helper'
+require "spec_helper"
describe ApplicationSetting::TermPolicy do
include TermsHelper
@@ -9,40 +9,40 @@ describe ApplicationSetting::TermPolicy do
subject(:policy) { described_class.new(user, term) }
before do
- stub_env('IN_MEMORY_APPLICATION_SETTINGS', 'false')
+ stub_env("IN_MEMORY_APPLICATION_SETTINGS", "false")
end
- it 'has the correct permissions', :aggregate_failures do
+ it "has the correct permissions", :aggregate_failures do
is_expected.to be_allowed(:accept_terms)
is_expected.to be_allowed(:decline_terms)
end
- context 'for anonymous users' do
+ context "for anonymous users" do
let(:user) { nil }
- it 'has the correct permissions', :aggregate_failures do
+ it "has the correct permissions", :aggregate_failures do
is_expected.to be_disallowed(:accept_terms)
is_expected.to be_disallowed(:decline_terms)
end
end
- context 'when the terms are not current' do
+ context "when the terms are not current" do
before do
create(:term)
end
- it 'has the correct permissions', :aggregate_failures do
+ it "has the correct permissions", :aggregate_failures do
is_expected.to be_disallowed(:accept_terms)
is_expected.to be_disallowed(:decline_terms)
end
end
- context 'when the user already accepted the terms' do
+ context "when the user already accepted the terms" do
before do
accept_terms(user)
end
- it 'has the correct permissions', :aggregate_failures do
+ it "has the correct permissions", :aggregate_failures do
is_expected.to be_disallowed(:accept_terms)
is_expected.to be_allowed(:decline_terms)
end
diff --git a/spec/policies/base_policy_spec.rb b/spec/policies/base_policy_spec.rb
index c03d95b34db..9a8f744878d 100644
--- a/spec/policies/base_policy_spec.rb
+++ b/spec/policies/base_policy_spec.rb
@@ -1,18 +1,18 @@
-require 'spec_helper'
+require "spec_helper"
describe BasePolicy do
- describe '.class_for' do
- it 'detects policy class based on the subject ancestors' do
+ describe ".class_for" do
+ it "detects policy class based on the subject ancestors" do
expect(DeclarativePolicy.class_for(GenericCommitStatus.new)).to eq(CommitStatusPolicy)
end
- it 'detects policy class for a presented subject' do
+ it "detects policy class for a presented subject" do
presentee = Ci::BuildPresenter.new(Ci::Build.new)
expect(DeclarativePolicy.class_for(presentee)).to eq(Ci::BuildPolicy)
end
- it 'uses GlobalPolicy when :global is given' do
+ it "uses GlobalPolicy when :global is given" do
expect(DeclarativePolicy.class_for(:global)).to eq(GlobalPolicy)
end
end
diff --git a/spec/policies/board_policy_spec.rb b/spec/policies/board_policy_spec.rb
index 4b76d65ef69..2285be03b80 100644
--- a/spec/policies/board_policy_spec.rb
+++ b/spec/policies/board_policy_spec.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true
-require 'spec_helper'
+require "spec_helper"
describe BoardPolicy do
let(:user) { create(:user) }
@@ -13,7 +13,7 @@ describe BoardPolicy do
[
:read_parent,
:read_milestone,
- :read_issue
+ :read_issue,
]
end
@@ -25,10 +25,10 @@ describe BoardPolicy do
permissions.each { |p| is_expected.not_to be_allowed(p) }
end
- context 'group board' do
+ context "group board" do
subject { described_class.new(user, group_board) }
- context 'user has access' do
+ context "user has access" do
before do
group.add_developer(user)
end
@@ -38,17 +38,17 @@ describe BoardPolicy do
end
end
- context 'user does not have access' do
+ context "user does not have access" do
it do
expect_disallowed(*board_permissions)
end
end
end
- context 'project board' do
+ context "project board" do
subject { described_class.new(user, project_board) }
- context 'user has access' do
+ context "user has access" do
before do
project.add_developer(user)
end
@@ -58,7 +58,7 @@ describe BoardPolicy do
end
end
- context 'user does not have access' do
+ context "user does not have access" do
it do
expect_disallowed(*board_permissions)
end
diff --git a/spec/policies/ci/build_policy_spec.rb b/spec/policies/ci/build_policy_spec.rb
index 79a616899fa..9275d6fec32 100644
--- a/spec/policies/ci/build_policy_spec.rb
+++ b/spec/policies/ci/build_policy_spec.rb
@@ -1,4 +1,4 @@
-require 'spec_helper'
+require "spec_helper"
describe Ci::BuildPolicy do
let(:user) { create(:user) }
@@ -9,97 +9,97 @@ describe Ci::BuildPolicy do
described_class.new(user, build)
end
- shared_context 'public pipelines disabled' do
+ shared_context "public pipelines disabled" do
before do
project.update_attribute(:public_builds, false)
end
end
- describe '#rules' do
- context 'when user does not have access to the project' do
+ describe "#rules" do
+ context "when user does not have access to the project" do
let(:project) { create(:project, :private) }
- context 'when public builds are enabled' do
- it 'does not include ability to read build' do
+ context "when public builds are enabled" do
+ it "does not include ability to read build" do
expect(policy).not_to be_allowed :read_build
end
end
- context 'when public builds are disabled' do
- include_context 'public pipelines disabled'
+ context "when public builds are disabled" do
+ include_context "public pipelines disabled"
- it 'does not include ability to read build' do
+ it "does not include ability to read build" do
expect(policy).not_to be_allowed :read_build
end
end
end
- context 'when anonymous user has access to the project' do
+ context "when anonymous user has access to the project" do
let(:project) { create(:project, :public) }
- context 'when public builds are enabled' do
- it 'includes ability to read build' do
+ context "when public builds are enabled" do
+ it "includes ability to read build" do
expect(policy).to be_allowed :read_build
end
end
- context 'when public builds are disabled' do
- include_context 'public pipelines disabled'
+ context "when public builds are disabled" do
+ include_context "public pipelines disabled"
- it 'does not include ability to read build' do
+ it "does not include ability to read build" do
expect(policy).not_to be_allowed :read_build
end
end
end
- context 'when team member has access to the project' do
+ context "when team member has access to the project" do
let(:project) { create(:project, :public) }
- context 'team member is a guest' do
+ context "team member is a guest" do
before do
project.add_guest(user)
end
- context 'when public builds are enabled' do
- it 'includes ability to read build' do
+ context "when public builds are enabled" do
+ it "includes ability to read build" do
expect(policy).to be_allowed :read_build
end
end
- context 'when public builds are disabled' do
- include_context 'public pipelines disabled'
+ context "when public builds are disabled" do
+ include_context "public pipelines disabled"
- it 'does not include ability to read build' do
+ it "does not include ability to read build" do
expect(policy).not_to be_allowed :read_build
end
end
end
- context 'team member is a reporter' do
+ context "team member is a reporter" do
before do
project.add_reporter(user)
end
- context 'when public builds are enabled' do
- it 'includes ability to read build' do
+ context "when public builds are enabled" do
+ it "includes ability to read build" do
expect(policy).to be_allowed :read_build
end
end
- context 'when public builds are disabled' do
- include_context 'public pipelines disabled'
+ context "when public builds are disabled" do
+ include_context "public pipelines disabled"
- it 'does not include ability to read build' do
+ it "does not include ability to read build" do
expect(policy).to be_allowed :read_build
end
end
end
- context 'when maintainer is allowed to push to pipeline branch' do
+ context "when maintainer is allowed to push to pipeline branch" do
let(:project) { create(:project, :public) }
let(:owner) { user }
- it 'enables update_build if user is maintainer' do
+ it "enables update_build if user is maintainer" do
allow_any_instance_of(Project).to receive(:empty_repo?).and_return(false)
allow_any_instance_of(Project).to receive(:branch_allows_collaboration?).and_return(true)
@@ -109,131 +109,131 @@ describe Ci::BuildPolicy do
end
end
- describe 'rules for protected ref' do
+ describe "rules for protected ref" do
let(:project) { create(:project, :repository) }
- let(:build) { create(:ci_build, ref: 'some-ref', pipeline: pipeline) }
+ let(:build) { create(:ci_build, ref: "some-ref", pipeline: pipeline) }
before do
project.add_developer(user)
end
- context 'when no one can push or merge to the branch' do
+ context "when no one can push or merge to the branch" do
before do
create(:protected_branch, :no_one_can_push,
- name: build.ref, project: project)
+ name: build.ref, project: project)
end
- it 'does not include ability to update build' do
+ it "does not include ability to update build" do
expect(policy).to be_disallowed :update_build
end
end
- context 'when developers can push to the branch' do
+ context "when developers can push to the branch" do
before do
create(:protected_branch, :developers_can_merge,
- name: build.ref, project: project)
+ name: build.ref, project: project)
end
- it 'includes ability to update build' do
+ it "includes ability to update build" do
expect(policy).to be_allowed :update_build
end
end
- context 'when no one can create the tag' do
+ context "when no one can create the tag" do
before do
create(:protected_tag, :no_one_can_create,
- name: build.ref, project: project)
+ name: build.ref, project: project)
build.update(tag: true)
end
- it 'does not include ability to update build' do
+ it "does not include ability to update build" do
expect(policy).to be_disallowed :update_build
end
end
- context 'when no one can create the tag but it is not a tag' do
+ context "when no one can create the tag but it is not a tag" do
before do
create(:protected_tag, :no_one_can_create,
- name: build.ref, project: project)
+ name: build.ref, project: project)
end
- it 'includes ability to update build' do
+ it "includes ability to update build" do
expect(policy).to be_allowed :update_build
end
end
end
- describe 'rules for erase build' do
+ describe "rules for erase build" do
let(:project) { create(:project, :repository) }
- let(:build) { create(:ci_build, pipeline: pipeline, ref: 'some-ref', user: owner) }
+ let(:build) { create(:ci_build, pipeline: pipeline, ref: "some-ref", user: owner) }
- context 'when a developer erases a build' do
+ context "when a developer erases a build" do
before do
project.add_developer(user)
end
- context 'when developers can push to the branch' do
+ context "when developers can push to the branch" do
before do
create(:protected_branch, :developers_can_push,
- name: build.ref, project: project)
+ name: build.ref, project: project)
end
- context 'when the build was created by the developer' do
+ context "when the build was created by the developer" do
let(:owner) { user }
it { expect(policy).to be_allowed :erase_build }
end
- context 'when the build was created by the other' do
+ context "when the build was created by the other" do
let(:owner) { create(:user) }
it { expect(policy).to be_disallowed :erase_build }
end
end
- context 'when no one can push or merge to the branch' do
+ context "when no one can push or merge to the branch" do
let(:owner) { user }
before do
create(:protected_branch, :no_one_can_push, :no_one_can_merge,
- name: build.ref, project: project)
+ name: build.ref, project: project)
end
it { expect(policy).to be_disallowed :erase_build }
end
end
- context 'when a maintainer erases a build' do
+ context "when a maintainer erases a build" do
before do
project.add_maintainer(user)
end
- context 'when maintainers can push to the branch' do
+ context "when maintainers can push to the branch" do
before do
create(:protected_branch, :maintainers_can_push,
- name: build.ref, project: project)
+ name: build.ref, project: project)
end
- context 'when the build was created by the maintainer' do
+ context "when the build was created by the maintainer" do
let(:owner) { user }
it { expect(policy).to be_allowed :erase_build }
end
- context 'when the build was created by the other' do
+ context "when the build was created by the other" do
let(:owner) { create(:user) }
it { expect(policy).to be_allowed :erase_build }
end
end
- context 'when no one can push or merge to the branch' do
+ context "when no one can push or merge to the branch" do
let(:owner) { user }
before do
create(:protected_branch, :no_one_can_push, :no_one_can_merge,
- name: build.ref, project: project)
+ name: build.ref, project: project)
end
it { expect(policy).to be_disallowed :erase_build }
diff --git a/spec/policies/ci/pipeline_policy_spec.rb b/spec/policies/ci/pipeline_policy_spec.rb
index 844d96017de..69cd561748f 100644
--- a/spec/policies/ci/pipeline_policy_spec.rb
+++ b/spec/policies/ci/pipeline_policy_spec.rb
@@ -1,4 +1,4 @@
-require 'spec_helper'
+require "spec_helper"
describe Ci::PipelinePolicy, :models do
let(:user) { create(:user) }
@@ -8,66 +8,66 @@ describe Ci::PipelinePolicy, :models do
described_class.new(user, pipeline)
end
- describe 'rules' do
- describe 'rules for protected ref' do
+ describe "rules" do
+ describe "rules for protected ref" do
let(:project) { create(:project, :repository) }
before do
project.add_developer(user)
end
- context 'when no one can push or merge to the branch' do
+ context "when no one can push or merge to the branch" do
before do
create(:protected_branch, :no_one_can_push,
- name: pipeline.ref, project: project)
+ name: pipeline.ref, project: project)
end
- it 'does not include ability to update pipeline' do
+ it "does not include ability to update pipeline" do
expect(policy).to be_disallowed :update_pipeline
end
end
- context 'when developers can push to the branch' do
+ context "when developers can push to the branch" do
before do
create(:protected_branch, :developers_can_merge,
- name: pipeline.ref, project: project)
+ name: pipeline.ref, project: project)
end
- it 'includes ability to update pipeline' do
+ it "includes ability to update pipeline" do
expect(policy).to be_allowed :update_pipeline
end
end
- context 'when no one can create the tag' do
+ context "when no one can create the tag" do
before do
create(:protected_tag, :no_one_can_create,
- name: pipeline.ref, project: project)
+ name: pipeline.ref, project: project)
pipeline.update(tag: true)
end
- it 'does not include ability to update pipeline' do
+ it "does not include ability to update pipeline" do
expect(policy).to be_disallowed :update_pipeline
end
end
- context 'when no one can create the tag but it is not a tag' do
+ context "when no one can create the tag but it is not a tag" do
before do
create(:protected_tag, :no_one_can_create,
- name: pipeline.ref, project: project)
+ name: pipeline.ref, project: project)
end
- it 'includes ability to update pipeline' do
+ it "includes ability to update pipeline" do
expect(policy).to be_allowed :update_pipeline
end
end
end
- context 'when maintainer is allowed to push to pipeline branch' do
+ context "when maintainer is allowed to push to pipeline branch" do
let(:project) { create(:project, :public) }
let(:owner) { user }
- it 'enables update_pipeline if user is maintainer' do
+ it "enables update_pipeline if user is maintainer" do
allow_any_instance_of(Project).to receive(:empty_repo?).and_return(false)
allow_any_instance_of(Project).to receive(:branch_allows_collaboration?).and_return(true)
@@ -75,27 +75,27 @@ describe Ci::PipelinePolicy, :models do
end
end
- context 'when user does not have access to internal CI' do
+ context "when user does not have access to internal CI" do
let(:project) { create(:project, :builds_disabled, :public) }
- it 'disallows the user from reading the pipeline' do
+ it "disallows the user from reading the pipeline" do
expect(policy).to be_disallowed :read_pipeline
end
end
- describe 'destroy_pipeline' do
+ describe "destroy_pipeline" do
let(:project) { create(:project, :public) }
- context 'when user has owner access' do
+ context "when user has owner access" do
let(:user) { project.owner }
- it 'is enabled' do
+ it "is enabled" do
expect(policy).to be_allowed :destroy_pipeline
end
end
- context 'when user is not owner' do
- it 'is disabled' do
+ context "when user is not owner" do
+ it "is disabled" do
expect(policy).not_to be_allowed :destroy_pipeline
end
end
diff --git a/spec/policies/ci/pipeline_schedule_policy_spec.rb b/spec/policies/ci/pipeline_schedule_policy_spec.rb
index 5a56e91cd69..8716e0839c4 100644
--- a/spec/policies/ci/pipeline_schedule_policy_spec.rb
+++ b/spec/policies/ci/pipeline_schedule_policy_spec.rb
@@ -1,4 +1,4 @@
-require 'spec_helper'
+require "spec_helper"
describe Ci::PipelineSchedulePolicy, :models do
set(:user) { create(:user) }
@@ -9,87 +9,87 @@ describe Ci::PipelineSchedulePolicy, :models do
described_class.new(user, pipeline_schedule)
end
- describe 'rules' do
- describe 'rules for protected ref' do
+ describe "rules" do
+ describe "rules for protected ref" do
before do
project.add_developer(user)
end
- context 'when no one can push or merge to the branch' do
+ context "when no one can push or merge to the branch" do
before do
create(:protected_branch, :no_one_can_push,
- name: pipeline_schedule.ref, project: project)
+ name: pipeline_schedule.ref, project: project)
end
- it 'does not include ability to play pipeline schedule' do
+ it "does not include ability to play pipeline schedule" do
expect(policy).to be_disallowed :play_pipeline_schedule
end
end
- context 'when developers can push to the branch' do
+ context "when developers can push to the branch" do
before do
create(:protected_branch, :developers_can_merge,
- name: pipeline_schedule.ref, project: project)
+ name: pipeline_schedule.ref, project: project)
end
- it 'includes ability to update pipeline' do
+ it "includes ability to update pipeline" do
expect(policy).to be_allowed :play_pipeline_schedule
end
end
- context 'when no one can create the tag' do
- let(:tag) { 'v1.0.0' }
+ context "when no one can create the tag" do
+ let(:tag) { "v1.0.0" }
before do
pipeline_schedule.update(ref: tag)
create(:protected_tag, :no_one_can_create,
- name: pipeline_schedule.ref, project: project)
+ name: pipeline_schedule.ref, project: project)
end
- it 'does not include ability to play pipeline schedule' do
+ it "does not include ability to play pipeline schedule" do
expect(policy).to be_disallowed :play_pipeline_schedule
end
end
- context 'when no one can create the tag but it is not a tag' do
+ context "when no one can create the tag but it is not a tag" do
before do
create(:protected_tag, :no_one_can_create,
- name: pipeline_schedule.ref, project: project)
+ name: pipeline_schedule.ref, project: project)
end
- it 'includes ability to play pipeline schedule' do
+ it "includes ability to play pipeline schedule" do
expect(policy).to be_allowed :play_pipeline_schedule
end
end
end
- describe 'rules for owner of schedule' do
+ describe "rules for owner of schedule" do
before do
project.add_developer(user)
pipeline_schedule.update(owner: user)
end
- it 'includes abilities to do all operations on pipeline schedule' do
+ it "includes abilities to do all operations on pipeline schedule" do
expect(policy).to be_allowed :play_pipeline_schedule
expect(policy).to be_allowed :update_pipeline_schedule
expect(policy).to be_allowed :admin_pipeline_schedule
end
end
- describe 'rules for a maintainer' do
+ describe "rules for a maintainer" do
before do
project.add_maintainer(user)
end
- it 'includes abilities to do all operations on pipeline schedule' do
+ it "includes abilities to do all operations on pipeline schedule" do
expect(policy).to be_allowed :play_pipeline_schedule
expect(policy).to be_allowed :update_pipeline_schedule
expect(policy).to be_allowed :admin_pipeline_schedule
end
end
- describe 'rules for non-owner of schedule' do
+ describe "rules for non-owner of schedule" do
let(:owner) { create(:user) }
before do
@@ -98,7 +98,7 @@ describe Ci::PipelineSchedulePolicy, :models do
pipeline_schedule.update(owner: owner)
end
- it 'includes abilities to take ownership' do
+ it "includes abilities to take ownership" do
expect(policy).to be_allowed :take_ownership_pipeline_schedule
end
end
diff --git a/spec/policies/ci/trigger_policy_spec.rb b/spec/policies/ci/trigger_policy_spec.rb
index d8a63066265..e68f68cddd4 100644
--- a/spec/policies/ci/trigger_policy_spec.rb
+++ b/spec/policies/ci/trigger_policy_spec.rb
@@ -1,4 +1,4 @@
-require 'spec_helper'
+require "spec_helper"
describe Ci::TriggerPolicy do
let(:user) { create(:user) }
@@ -9,94 +9,94 @@ describe Ci::TriggerPolicy do
described_class.new(user, trigger)
end
- shared_examples 'allows to admin and manage trigger' do
- it 'does include ability to admin trigger' do
+ shared_examples "allows to admin and manage trigger" do
+ it "does include ability to admin trigger" do
expect(policies).to be_allowed :admin_trigger
end
- it 'does include ability to manage trigger' do
+ it "does include ability to manage trigger" do
expect(policies).to be_allowed :manage_trigger
end
end
- shared_examples 'allows to manage trigger' do
- it 'does not include ability to admin trigger' do
+ shared_examples "allows to manage trigger" do
+ it "does not include ability to admin trigger" do
expect(policies).not_to be_allowed :admin_trigger
end
- it 'does include ability to manage trigger' do
+ it "does include ability to manage trigger" do
expect(policies).to be_allowed :manage_trigger
end
end
- shared_examples 'disallows to admin and manage trigger' do
- it 'does not include ability to admin trigger' do
+ shared_examples "disallows to admin and manage trigger" do
+ it "does not include ability to admin trigger" do
expect(policies).not_to be_allowed :admin_trigger
end
- it 'does not include ability to manage trigger' do
+ it "does not include ability to manage trigger" do
expect(policies).not_to be_allowed :manage_trigger
end
end
- describe '#rules' do
- context 'when owner is undefined' do
+ describe "#rules" do
+ context "when owner is undefined" do
let(:owner) { nil }
- context 'when user is maintainer of the project' do
+ context "when user is maintainer of the project" do
before do
project.add_maintainer(user)
end
- it_behaves_like 'allows to admin and manage trigger'
+ it_behaves_like "allows to admin and manage trigger"
end
- context 'when user is developer of the project' do
+ context "when user is developer of the project" do
before do
project.add_developer(user)
end
- it_behaves_like 'disallows to admin and manage trigger'
+ it_behaves_like "disallows to admin and manage trigger"
end
- context 'when user is not member of the project' do
- it_behaves_like 'disallows to admin and manage trigger'
+ context "when user is not member of the project" do
+ it_behaves_like "disallows to admin and manage trigger"
end
end
- context 'when owner is an user' do
+ context "when owner is an user" do
let(:owner) { user }
- context 'when user is maintainer of the project' do
+ context "when user is maintainer of the project" do
before do
project.add_maintainer(user)
end
- it_behaves_like 'allows to admin and manage trigger'
+ it_behaves_like "allows to admin and manage trigger"
end
end
- context 'when owner is another user' do
+ context "when owner is another user" do
let(:owner) { create(:user) }
- context 'when user is maintainer of the project' do
+ context "when user is maintainer of the project" do
before do
project.add_maintainer(user)
end
- it_behaves_like 'allows to manage trigger'
+ it_behaves_like "allows to manage trigger"
end
- context 'when user is developer of the project' do
+ context "when user is developer of the project" do
before do
project.add_developer(user)
end
- it_behaves_like 'disallows to admin and manage trigger'
+ it_behaves_like "disallows to admin and manage trigger"
end
- context 'when user is not member of the project' do
- it_behaves_like 'disallows to admin and manage trigger'
+ context "when user is not member of the project" do
+ it_behaves_like "disallows to admin and manage trigger"
end
end
end
diff --git a/spec/policies/clusters/cluster_policy_spec.rb b/spec/policies/clusters/cluster_policy_spec.rb
index b2f0ca1bc30..5930da861f2 100644
--- a/spec/policies/clusters/cluster_policy_spec.rb
+++ b/spec/policies/clusters/cluster_policy_spec.rb
@@ -1,4 +1,4 @@
-require 'spec_helper'
+require "spec_helper"
describe Clusters::ClusterPolicy, :models do
let(:cluster) { create(:cluster, :project) }
@@ -6,8 +6,8 @@ describe Clusters::ClusterPolicy, :models do
let(:user) { create(:user) }
let(:policy) { described_class.new(user, cluster) }
- describe 'rules' do
- context 'when developer' do
+ describe "rules" do
+ context "when developer" do
before do
project.add_developer(user)
end
@@ -16,7 +16,7 @@ describe Clusters::ClusterPolicy, :models do
it { expect(policy).to be_disallowed :admin_cluster }
end
- context 'when maintainer' do
+ context "when maintainer" do
before do
project.add_maintainer(user)
end
@@ -25,12 +25,12 @@ describe Clusters::ClusterPolicy, :models do
it { expect(policy).to be_allowed :admin_cluster }
end
- context 'group cluster' do
+ context "group cluster" do
let(:cluster) { create(:cluster, :group) }
let(:group) { cluster.group }
let(:project) { create(:project, namespace: group) }
- context 'when group developer' do
+ context "when group developer" do
before do
group.add_developer(user)
end
@@ -39,7 +39,7 @@ describe Clusters::ClusterPolicy, :models do
it { expect(policy).to be_disallowed :admin_cluster }
end
- context 'when group maintainer' do
+ context "when group maintainer" do
before do
group.add_maintainer(user)
end
@@ -48,7 +48,7 @@ describe Clusters::ClusterPolicy, :models do
it { expect(policy).to be_allowed :admin_cluster }
end
- context 'when project maintainer' do
+ context "when project maintainer" do
before do
project.add_maintainer(user)
end
@@ -57,7 +57,7 @@ describe Clusters::ClusterPolicy, :models do
it { expect(policy).to be_disallowed :admin_cluster }
end
- context 'when project developer' do
+ context "when project developer" do
before do
project.add_developer(user)
end
diff --git a/spec/policies/concerns/policy_actor_spec.rb b/spec/policies/concerns/policy_actor_spec.rb
index 27db9710a38..68d8c38755f 100644
--- a/spec/policies/concerns/policy_actor_spec.rb
+++ b/spec/policies/concerns/policy_actor_spec.rb
@@ -1,9 +1,9 @@
# frozen_string_literal: true
-require 'spec_helper'
+require "spec_helper"
describe PolicyActor do
- it 'implements all the methods from user' do
+ it "implements all the methods from user" do
methods = subject.instance_methods
# User.instance_methods do not return all methods until an instance is
diff --git a/spec/policies/deploy_key_policy_spec.rb b/spec/policies/deploy_key_policy_spec.rb
index e7263d49613..d81afb37ef3 100644
--- a/spec/policies/deploy_key_policy_spec.rb
+++ b/spec/policies/deploy_key_policy_spec.rb
@@ -1,13 +1,13 @@
-require 'spec_helper'
+require "spec_helper"
describe DeployKeyPolicy do
subject { described_class.new(current_user, deploy_key) }
- describe 'updating a deploy_key' do
- context 'when a regular user' do
+ describe "updating a deploy_key" do
+ context "when a regular user" do
let(:current_user) { create(:user) }
- context 'tries to update private deploy key attached to project' do
+ context "tries to update private deploy key attached to project" do
let(:deploy_key) { create(:deploy_key, public: false) }
let(:project) { create(:project_empty_repo) }
@@ -19,7 +19,7 @@ describe DeployKeyPolicy do
it { is_expected.to be_allowed(:update_deploy_key) }
end
- context 'tries to update private deploy key attached to other project' do
+ context "tries to update private deploy key attached to other project" do
let(:deploy_key) { create(:deploy_key, public: false) }
let(:other_project) { create(:project_empty_repo) }
@@ -30,23 +30,23 @@ describe DeployKeyPolicy do
it { is_expected.to be_disallowed(:update_deploy_key) }
end
- context 'tries to update public deploy key' do
+ context "tries to update public deploy key" do
let(:deploy_key) { create(:another_deploy_key, public: true) }
it { is_expected.to be_disallowed(:update_deploy_key) }
end
end
- context 'when an admin user' do
+ context "when an admin user" do
let(:current_user) { create(:user, :admin) }
- context ' tries to update private deploy key' do
+ context " tries to update private deploy key" do
let(:deploy_key) { create(:deploy_key, public: false) }
it { is_expected.to be_allowed(:update_deploy_key) }
end
- context 'when an admin user tries to update public deploy key' do
+ context "when an admin user tries to update public deploy key" do
let(:deploy_key) { create(:another_deploy_key, public: true) }
it { is_expected.to be_allowed(:update_deploy_key) }
diff --git a/spec/policies/deploy_token_policy_spec.rb b/spec/policies/deploy_token_policy_spec.rb
index cef5a4a22bc..0fd444fcaba 100644
--- a/spec/policies/deploy_token_policy_spec.rb
+++ b/spec/policies/deploy_token_policy_spec.rb
@@ -1,4 +1,4 @@
-require 'spec_helper'
+require "spec_helper"
describe DeployTokenPolicy do
let(:current_user) { create(:user) }
@@ -7,8 +7,8 @@ describe DeployTokenPolicy do
subject { described_class.new(current_user, deploy_token) }
- describe 'creating a deploy key' do
- context 'when user is maintainer' do
+ describe "creating a deploy key" do
+ context "when user is maintainer" do
before do
project.add_maintainer(current_user)
end
@@ -16,7 +16,7 @@ describe DeployTokenPolicy do
it { is_expected.to be_allowed(:create_deploy_token) }
end
- context 'when user is not maintainer' do
+ context "when user is not maintainer" do
before do
project.add_developer(current_user)
end
@@ -25,8 +25,8 @@ describe DeployTokenPolicy do
end
end
- describe 'updating a deploy key' do
- context 'when user is maintainer' do
+ describe "updating a deploy key" do
+ context "when user is maintainer" do
before do
project.add_maintainer(current_user)
end
@@ -34,7 +34,7 @@ describe DeployTokenPolicy do
it { is_expected.to be_allowed(:update_deploy_token) }
end
- context 'when user is not maintainer' do
+ context "when user is not maintainer" do
before do
project.add_developer(current_user)
end
diff --git a/spec/policies/environment_policy_spec.rb b/spec/policies/environment_policy_spec.rb
index 0442b032e89..c6ea02609eb 100644
--- a/spec/policies/environment_policy_spec.rb
+++ b/spec/policies/environment_policy_spec.rb
@@ -1,4 +1,4 @@
-require 'spec_helper'
+require "spec_helper"
describe EnvironmentPolicy do
using RSpec::Parameterized::TableSyntax
@@ -9,9 +9,9 @@ describe EnvironmentPolicy do
described_class.new(user, environment)
end
- describe '#rules' do
- shared_examples 'project permissions' do
- context 'with stop action' do
+ describe "#rules" do
+ shared_examples "project permissions" do
+ context "with stop action" do
let(:environment) do
create(:environment, :with_review_app, project: project)
end
@@ -32,24 +32,24 @@ describe EnvironmentPolicy do
it { expect(policy.allowed?(:stop_environment)).to be allowed? }
end
- context 'when an admin user' do
+ context "when an admin user" do
let(:user) { create(:user, :admin) }
it { expect(policy).to be_allowed :stop_environment }
end
- context 'with protected branch' do
+ context "with protected branch" do
with_them do
before do
project.add_user(user, access_level) unless access_level.nil?
create(:protected_branch, :no_one_can_push,
- name: 'master', project: project)
+ name: "master", project: project)
end
it { expect(policy).to be_disallowed :stop_environment }
end
- context 'when an admin user' do
+ context "when an admin user" do
let(:user) { create(:user, :admin) }
it { expect(policy).to be_allowed :stop_environment }
@@ -57,7 +57,7 @@ describe EnvironmentPolicy do
end
end
- context 'without stop action' do
+ context "without stop action" do
let(:environment) do
create(:environment, project: project)
end
@@ -78,7 +78,7 @@ describe EnvironmentPolicy do
it { expect(policy.allowed?(:stop_environment)).to be allowed? }
end
- context 'when an admin user' do
+ context "when an admin user" do
let(:user) { create(:user, :admin) }
it { expect(policy).to be_allowed :stop_environment }
@@ -86,16 +86,16 @@ describe EnvironmentPolicy do
end
end
- context 'when project is public' do
+ context "when project is public" do
let(:project) { create(:project, :public, :repository) }
- include_examples 'project permissions'
+ include_examples "project permissions"
end
- context 'when project is private' do
+ context "when project is private" do
let(:project) { create(:project, :private, :repository) }
- include_examples 'project permissions'
+ include_examples "project permissions"
end
end
end
diff --git a/spec/policies/global_policy_spec.rb b/spec/policies/global_policy_spec.rb
index 30d68e7dc9d..c2ba4ad7ebc 100644
--- a/spec/policies/global_policy_spec.rb
+++ b/spec/policies/global_policy_spec.rb
@@ -1,4 +1,4 @@
-require 'spec_helper'
+require "spec_helper"
describe GlobalPolicy do
include TermsHelper
@@ -77,13 +77,13 @@ describe GlobalPolicy do
end
end
- describe 'custom attributes' do
- context 'regular user' do
+ describe "custom attributes" do
+ context "regular user" do
it { is_expected.not_to be_allowed(:read_custom_attribute) }
it { is_expected.not_to be_allowed(:update_custom_attribute) }
end
- context 'admin' do
+ context "admin" do
let(:current_user) { create(:user, :admin) }
it { is_expected.to be_allowed(:read_custom_attribute) }
@@ -91,7 +91,7 @@ describe GlobalPolicy do
end
end
- shared_examples 'access allowed when terms accepted' do |ability|
+ shared_examples "access allowed when terms accepted" do |ability|
it { is_expected.not_to be_allowed(ability) }
it "allows #{ability} when the user accepted the terms" do
@@ -101,39 +101,39 @@ describe GlobalPolicy do
end
end
- describe 'API access' do
- context 'regular user' do
+ describe "API access" do
+ context "regular user" do
it { is_expected.to be_allowed(:access_api) }
end
- context 'admin' do
+ context "admin" do
let(:current_user) { create(:admin) }
it { is_expected.to be_allowed(:access_api) }
end
- context 'anonymous' do
+ context "anonymous" do
let(:current_user) { nil }
it { is_expected.to be_allowed(:access_api) }
end
- context 'when terms are enforced' do
+ context "when terms are enforced" do
before do
enforce_terms
end
- context 'regular user' do
- it_behaves_like 'access allowed when terms accepted', :access_api
+ context "regular user" do
+ it_behaves_like "access allowed when terms accepted", :access_api
end
- context 'admin' do
+ context "admin" do
let(:current_user) { create(:admin) }
- it_behaves_like 'access allowed when terms accepted', :access_api
+ it_behaves_like "access allowed when terms accepted", :access_api
end
- context 'anonymous' do
+ context "anonymous" do
let(:current_user) { nil }
it { is_expected.to be_allowed(:access_api) }
@@ -141,39 +141,39 @@ describe GlobalPolicy do
end
end
- describe 'git access' do
- describe 'regular user' do
+ describe "git access" do
+ describe "regular user" do
it { is_expected.to be_allowed(:access_git) }
end
- describe 'admin' do
+ describe "admin" do
let(:current_user) { create(:admin) }
it { is_expected.to be_allowed(:access_git) }
end
- describe 'anonymous' do
+ describe "anonymous" do
let(:current_user) { nil }
it { is_expected.to be_allowed(:access_git) }
end
- context 'when terms are enforced' do
+ context "when terms are enforced" do
before do
enforce_terms
end
- context 'regular user' do
- it_behaves_like 'access allowed when terms accepted', :access_git
+ context "regular user" do
+ it_behaves_like "access allowed when terms accepted", :access_git
end
- context 'admin' do
+ context "admin" do
let(:current_user) { create(:admin) }
- it_behaves_like 'access allowed when terms accepted', :access_git
+ it_behaves_like "access allowed when terms accepted", :access_git
end
- context 'anonymous' do
+ context "anonymous" do
let(:current_user) { nil }
it { is_expected.to be_allowed(:access_git) }
@@ -181,11 +181,11 @@ describe GlobalPolicy do
end
end
- describe 'read instance statistics' do
- context 'regular user' do
+ describe "read instance statistics" do
+ context "regular user" do
it { is_expected.to be_allowed(:read_instance_statistics) }
- context 'when instance statistics are set to private' do
+ context "when instance statistics are set to private" do
before do
stub_application_setting(instance_statistics_visibility_private: true)
end
@@ -194,12 +194,12 @@ describe GlobalPolicy do
end
end
- context 'admin' do
+ context "admin" do
let(:current_user) { create(:admin) }
it { is_expected.to be_allowed(:read_instance_statistics) }
- context 'when instance statistics are set to private' do
+ context "when instance statistics are set to private" do
before do
stub_application_setting(instance_statistics_visibility_private: true)
end
@@ -208,7 +208,7 @@ describe GlobalPolicy do
end
end
- context 'anonymous' do
+ context "anonymous" do
let(:current_user) { nil }
it { is_expected.not_to be_allowed(:read_instance_statistics) }
diff --git a/spec/policies/group_policy_spec.rb b/spec/policies/group_policy_spec.rb
index af6d6f084a9..cb49ed61efc 100644
--- a/spec/policies/group_policy_spec.rb
+++ b/spec/policies/group_policy_spec.rb
@@ -1,4 +1,4 @@
-require 'spec_helper'
+require "spec_helper"
describe GroupPolicy do
let(:guest) { create(:user) }
@@ -12,7 +12,7 @@ describe GroupPolicy do
let(:guest_permissions) do
[:read_label, :read_group, :upload_file, :read_namespace, :read_group_activity,
:read_group_issues, :read_group_boards, :read_group_labels, :read_group_milestones,
- :read_group_merge_requests]
+ :read_group_merge_requests,]
end
let(:reporter_permissions) { [:admin_label] }
@@ -26,7 +26,7 @@ describe GroupPolicy do
:create_cluster,
:update_cluster,
:admin_cluster,
- :add_cluster
+ :add_cluster,
]
end
@@ -37,7 +37,7 @@ describe GroupPolicy do
:admin_group_member,
:change_visibility_level,
:set_note_created_at,
- (Gitlab::Database.postgresql? ? :create_subgroup : nil)
+ (Gitlab::Database.postgresql? ? :create_subgroup : nil),
].compact
end
@@ -59,7 +59,7 @@ describe GroupPolicy do
permissions.each { |p| is_expected.not_to be_allowed(p) }
end
- context 'with no user' do
+ context "with no user" do
let(:group) { create(:group, :public) }
let(:current_user) { nil }
@@ -74,7 +74,7 @@ describe GroupPolicy do
end
end
- context 'has projects' do
+ context "has projects" do
let(:current_user) { create(:user) }
let(:project) { create(:project, namespace: group) }
@@ -86,7 +86,7 @@ describe GroupPolicy do
expect_allowed(:read_group, :read_list, :read_label)
end
- context 'in subgroups', :nested_groups do
+ context "in subgroups", :nested_groups do
let(:subgroup) { create(:group, :private, parent: group) }
let(:project) { create(:project, namespace: subgroup) }
@@ -96,7 +96,7 @@ describe GroupPolicy do
end
end
- context 'guests' do
+ context "guests" do
let(:current_user) { guest }
it do
@@ -108,7 +108,7 @@ describe GroupPolicy do
end
end
- context 'reporter' do
+ context "reporter" do
let(:current_user) { reporter }
it do
@@ -120,7 +120,7 @@ describe GroupPolicy do
end
end
- context 'developer' do
+ context "developer" do
let(:current_user) { developer }
it do
@@ -132,7 +132,7 @@ describe GroupPolicy do
end
end
- context 'maintainer' do
+ context "maintainer" do
let(:current_user) { maintainer }
it do
@@ -144,7 +144,7 @@ describe GroupPolicy do
end
end
- context 'owner' do
+ context "owner" do
let(:current_user) { owner }
it do
@@ -158,7 +158,7 @@ describe GroupPolicy do
end
end
- context 'admin' do
+ context "admin" do
let(:current_user) { admin }
it do
@@ -172,15 +172,15 @@ describe GroupPolicy do
end
end
- describe 'when nested group support feature is disabled' do
+ describe "when nested group support feature is disabled" do
before do
allow(Group).to receive(:supports_nested_objects?).and_return(false)
end
- context 'admin' do
+ context "admin" do
let(:current_user) { admin }
- it 'allows every owner permission except creating subgroups' do
+ it "allows every owner permission except creating subgroups" do
create_subgroup_permission = [:create_subgroup]
updated_owner_permissions = owner_permissions - create_subgroup_permission
@@ -189,10 +189,10 @@ describe GroupPolicy do
end
end
- context 'owner' do
+ context "owner" do
let(:current_user) { owner }
- it 'allows every owner permission except creating subgroups' do
+ it "allows every owner permission except creating subgroups" do
create_subgroup_permission = [:create_subgroup]
updated_owner_permissions = owner_permissions - create_subgroup_permission
@@ -202,7 +202,7 @@ describe GroupPolicy do
end
end
- describe 'private nested group use the highest access level from the group and inherited permissions', :nested_groups do
+ describe "private nested group use the highest access level from the group and inherited permissions", :nested_groups do
let(:nested_group) { create(:group, :private, parent: group) }
before do
@@ -219,7 +219,7 @@ describe GroupPolicy do
subject { described_class.new(current_user, nested_group) }
- context 'with no user' do
+ context "with no user" do
let(:current_user) { nil }
it do
@@ -231,7 +231,7 @@ describe GroupPolicy do
end
end
- context 'guests' do
+ context "guests" do
let(:current_user) { guest }
it do
@@ -243,7 +243,7 @@ describe GroupPolicy do
end
end
- context 'reporter' do
+ context "reporter" do
let(:current_user) { reporter }
it do
@@ -255,7 +255,7 @@ describe GroupPolicy do
end
end
- context 'developer' do
+ context "developer" do
let(:current_user) { developer }
it do
@@ -267,7 +267,7 @@ describe GroupPolicy do
end
end
- context 'maintainer' do
+ context "maintainer" do
let(:current_user) { maintainer }
it do
@@ -279,7 +279,7 @@ describe GroupPolicy do
end
end
- context 'owner' do
+ context "owner" do
let(:current_user) { owner }
it do
@@ -294,26 +294,26 @@ describe GroupPolicy do
end
end
- describe 'change_share_with_group_lock' do
- context 'when the current_user owns the group' do
+ describe "change_share_with_group_lock" do
+ context "when the current_user owns the group" do
let(:current_user) { owner }
- context 'when the group share_with_group_lock is enabled' do
+ context "when the group share_with_group_lock is enabled" do
let(:group) { create(:group, share_with_group_lock: true, parent: parent) }
- context 'when the parent group share_with_group_lock is enabled' do
- context 'when the group has a grandparent' do
+ context "when the parent group share_with_group_lock is enabled" do
+ context "when the group has a grandparent" do
let(:parent) { create(:group, share_with_group_lock: true, parent: grandparent) }
- context 'when the grandparent share_with_group_lock is enabled' do
+ context "when the grandparent share_with_group_lock is enabled" do
let(:grandparent) { create(:group, share_with_group_lock: true) }
- context 'when the current_user owns the parent' do
+ context "when the current_user owns the parent" do
before do
parent.add_owner(current_user)
end
- context 'when the current_user owns the grandparent' do
+ context "when the current_user owns the grandparent" do
before do
grandparent.add_owner(current_user)
end
@@ -321,20 +321,20 @@ describe GroupPolicy do
it { expect_allowed(:change_share_with_group_lock) }
end
- context 'when the current_user does not own the grandparent' do
+ context "when the current_user does not own the grandparent" do
it { expect_disallowed(:change_share_with_group_lock) }
end
end
- context 'when the current_user does not own the parent' do
+ context "when the current_user does not own the parent" do
it { expect_disallowed(:change_share_with_group_lock) }
end
end
- context 'when the grandparent share_with_group_lock is disabled' do
+ context "when the grandparent share_with_group_lock is disabled" do
let(:grandparent) { create(:group) }
- context 'when the current_user owns the parent' do
+ context "when the current_user owns the parent" do
before do
parent.add_owner(current_user)
end
@@ -342,16 +342,16 @@ describe GroupPolicy do
it { expect_allowed(:change_share_with_group_lock) }
end
- context 'when the current_user does not own the parent' do
+ context "when the current_user does not own the parent" do
it { expect_disallowed(:change_share_with_group_lock) }
end
end
end
- context 'when the group does not have a grandparent' do
+ context "when the group does not have a grandparent" do
let(:parent) { create(:group, share_with_group_lock: true) }
- context 'when the current_user owns the parent' do
+ context "when the current_user owns the parent" do
before do
parent.add_owner(current_user)
end
@@ -359,38 +359,38 @@ describe GroupPolicy do
it { expect_allowed(:change_share_with_group_lock) }
end
- context 'when the current_user does not own the parent' do
+ context "when the current_user does not own the parent" do
it { expect_disallowed(:change_share_with_group_lock) }
end
end
end
- context 'when the parent group share_with_group_lock is disabled' do
+ context "when the parent group share_with_group_lock is disabled" do
let(:parent) { create(:group) }
it { expect_allowed(:change_share_with_group_lock) }
end
end
- context 'when the group share_with_group_lock is disabled' do
+ context "when the group share_with_group_lock is disabled" do
it { expect_allowed(:change_share_with_group_lock) }
end
end
- context 'when the current_user does not own the group' do
+ context "when the current_user does not own the group" do
let(:current_user) { create(:user) }
it { expect_disallowed(:change_share_with_group_lock) }
end
end
- it_behaves_like 'clusterable policies' do
+ it_behaves_like "clusterable policies" do
let(:clusterable) { create(:group) }
let(:cluster) do
create(:cluster,
- :provided_by_gcp,
- :group,
- groups: [clusterable])
+ :provided_by_gcp,
+ :group,
+ groups: [clusterable])
end
end
end
diff --git a/spec/policies/issuable_policy_spec.rb b/spec/policies/issuable_policy_spec.rb
index db3df760472..fbd3b6e40aa 100644
--- a/spec/policies/issuable_policy_spec.rb
+++ b/spec/policies/issuable_policy_spec.rb
@@ -1,4 +1,4 @@
-require 'spec_helper'
+require "spec_helper"
describe IssuablePolicy, models: true do
let(:user) { create(:user) }
@@ -6,49 +6,49 @@ describe IssuablePolicy, models: true do
let(:issue) { create(:issue, project: project) }
let(:policies) { described_class.new(user, issue) }
- describe '#rules' do
- context 'when user is author of issuable' do
+ describe "#rules" do
+ context "when user is author of issuable" do
let(:merge_request) { create(:merge_request, source_project: project, author: user) }
let(:policies) { described_class.new(user, merge_request) }
- context 'when user is able to read project' do
- it 'enables user to read and update issuables' do
+ context "when user is able to read project" do
+ it "enables user to read and update issuables" do
expect(policies).to be_allowed(:read_issue, :update_issue, :reopen_issue, :read_merge_request, :update_merge_request)
end
end
- context 'when project is private' do
+ context "when project is private" do
let(:project) { create(:project, :private) }
- context 'when user belongs to the projects team' do
- it 'enables user to read and update issuables' do
+ context "when user belongs to the projects team" do
+ it "enables user to read and update issuables" do
project.add_maintainer(user)
expect(policies).to be_allowed(:read_issue, :update_issue, :reopen_issue, :read_merge_request, :update_merge_request)
end
end
- it 'disallows user from reading and updating issuables from that project' do
+ it "disallows user from reading and updating issuables from that project" do
expect(policies).to be_disallowed(:read_issue, :update_issue, :reopen_issue, :read_merge_request, :update_merge_request)
end
end
end
- context 'when discussion is locked for the issuable' do
+ context "when discussion is locked for the issuable" do
let(:issue) { create(:issue, project: project, discussion_locked: true) }
- context 'when the user is not a project member' do
- it 'can not create a note' do
+ context "when the user is not a project member" do
+ it "can not create a note" do
expect(policies).to be_disallowed(:create_note)
end
end
- context 'when the user is a project member' do
+ context "when the user is a project member" do
before do
project.add_guest(user)
end
- it 'can create a note' do
+ it "can create a note" do
expect(policies).to be_allowed(:create_note)
end
end
diff --git a/spec/policies/issue_policy_spec.rb b/spec/policies/issue_policy_spec.rb
index 008d118b557..54a4959c6c2 100644
--- a/spec/policies/issue_policy_spec.rb
+++ b/spec/policies/issue_policy_spec.rb
@@ -1,4 +1,4 @@
-require 'spec_helper'
+require "spec_helper"
describe IssuePolicy do
let(:guest) { create(:user) }
@@ -12,7 +12,7 @@ describe IssuePolicy do
described_class.new(user, issue)
end
- context 'a private project' do
+ context "a private project" do
let(:non_member) { create(:user) }
let(:project) { create(:project, :private) }
let(:issue) { create(:issue, project: project, assignees: [assignee], author: author) }
@@ -29,12 +29,12 @@ describe IssuePolicy do
create(:project_group_link, group: group, project: project)
end
- it 'does not allow non-members to read issues' do
+ it "does not allow non-members to read issues" do
expect(permissions(non_member, issue)).to be_disallowed(:read_issue, :read_issue_iid, :update_issue, :admin_issue)
expect(permissions(non_member, issue_no_assignee)).to be_disallowed(:read_issue, :read_issue_iid, :update_issue, :admin_issue)
end
- it 'allows guests to read issues' do
+ it "allows guests to read issues" do
expect(permissions(guest, issue)).to be_allowed(:read_issue, :read_issue_iid)
expect(permissions(guest, issue)).to be_disallowed(:update_issue, :admin_issue)
@@ -42,17 +42,17 @@ describe IssuePolicy do
expect(permissions(guest, issue_no_assignee)).to be_disallowed(:update_issue, :admin_issue)
end
- it 'allows reporters to read, update, and admin issues' do
+ it "allows reporters to read, update, and admin issues" do
expect(permissions(reporter, issue)).to be_allowed(:read_issue, :read_issue_iid, :update_issue, :admin_issue)
expect(permissions(reporter, issue_no_assignee)).to be_allowed(:read_issue, :read_issue_iid, :update_issue, :admin_issue)
end
- it 'allows reporters from group links to read, update, and admin issues' do
+ it "allows reporters from group links to read, update, and admin issues" do
expect(permissions(reporter_from_group_link, issue)).to be_allowed(:read_issue, :read_issue_iid, :update_issue, :admin_issue)
expect(permissions(reporter_from_group_link, issue_no_assignee)).to be_allowed(:read_issue, :read_issue_iid, :update_issue, :admin_issue)
end
- it 'allows issue authors to read and update their issues' do
+ it "allows issue authors to read and update their issues" do
expect(permissions(author, issue)).to be_allowed(:read_issue, :read_issue_iid, :update_issue)
expect(permissions(author, issue)).to be_disallowed(:admin_issue)
@@ -60,7 +60,7 @@ describe IssuePolicy do
expect(permissions(author, issue_no_assignee)).to be_disallowed(:update_issue, :admin_issue)
end
- it 'allows issue assignees to read and update their issues' do
+ it "allows issue assignees to read and update their issues" do
expect(permissions(assignee, issue)).to be_allowed(:read_issue, :read_issue_iid, :update_issue)
expect(permissions(assignee, issue)).to be_disallowed(:admin_issue)
@@ -68,38 +68,38 @@ describe IssuePolicy do
expect(permissions(assignee, issue_no_assignee)).to be_disallowed(:update_issue, :admin_issue)
end
- context 'with confidential issues' do
+ context "with confidential issues" do
let(:confidential_issue) { create(:issue, :confidential, project: project, assignees: [assignee], author: author) }
let(:confidential_issue_no_assignee) { create(:issue, :confidential, project: project) }
- it 'does not allow non-members to read confidential issues' do
+ it "does not allow non-members to read confidential issues" do
expect(permissions(non_member, confidential_issue)).to be_disallowed(:read_issue, :read_issue_iid, :update_issue, :admin_issue)
expect(permissions(non_member, confidential_issue_no_assignee)).to be_disallowed(:read_issue, :read_issue_iid, :update_issue, :admin_issue)
end
- it 'does not allow guests to read confidential issues' do
+ it "does not allow guests to read confidential issues" do
expect(permissions(guest, confidential_issue)).to be_disallowed(:read_issue, :read_issue_iid, :update_issue, :admin_issue)
expect(permissions(guest, confidential_issue_no_assignee)).to be_disallowed(:read_issue, :read_issue_iid, :update_issue, :admin_issue)
end
- it 'allows reporters to read, update, and admin confidential issues' do
+ it "allows reporters to read, update, and admin confidential issues" do
expect(permissions(reporter, confidential_issue)).to be_allowed(:read_issue, :read_issue_iid, :update_issue, :admin_issue)
expect(permissions(reporter, confidential_issue_no_assignee)).to be_allowed(:read_issue, :read_issue_iid, :update_issue, :admin_issue)
end
- it 'allows reporters from group links to read, update, and admin confidential issues' do
+ it "allows reporters from group links to read, update, and admin confidential issues" do
expect(permissions(reporter_from_group_link, confidential_issue)).to be_allowed(:read_issue, :read_issue_iid, :update_issue, :admin_issue)
expect(permissions(reporter_from_group_link, confidential_issue_no_assignee)).to be_allowed(:read_issue, :read_issue_iid, :update_issue, :admin_issue)
end
- it 'allows issue authors to read and update their confidential issues' do
+ it "allows issue authors to read and update their confidential issues" do
expect(permissions(author, confidential_issue)).to be_allowed(:read_issue, :read_issue_iid, :update_issue)
expect(permissions(author, confidential_issue)).to be_disallowed(:admin_issue)
expect(permissions(author, confidential_issue_no_assignee)).to be_disallowed(:read_issue, :read_issue_iid, :update_issue, :admin_issue)
end
- it 'allows issue assignees to read and update their confidential issues' do
+ it "allows issue assignees to read and update their confidential issues" do
expect(permissions(assignee, confidential_issue)).to be_allowed(:read_issue, :read_issue_iid, :update_issue)
expect(permissions(assignee, confidential_issue)).to be_disallowed(:admin_issue)
@@ -108,7 +108,7 @@ describe IssuePolicy do
end
end
- context 'a public project' do
+ context "a public project" do
let(:project) { create(:project, :public) }
let(:issue) { create(:issue, project: project, assignees: [assignee], author: author) }
let(:issue_no_assignee) { create(:issue, project: project) }
@@ -123,7 +123,7 @@ describe IssuePolicy do
create(:project_group_link, group: group, project: project)
end
- it 'allows guests to read issues' do
+ it "allows guests to read issues" do
expect(permissions(guest, issue)).to be_allowed(:read_issue, :read_issue_iid)
expect(permissions(guest, issue)).to be_disallowed(:update_issue, :admin_issue, :reopen_issue)
@@ -134,21 +134,21 @@ describe IssuePolicy do
expect(permissions(guest, issue_locked)).to be_disallowed(:update_issue, :admin_issue, :reopen_issue)
end
- it 'allows reporters to read, update, reopen, and admin issues' do
+ it "allows reporters to read, update, reopen, and admin issues" do
expect(permissions(reporter, issue)).to be_allowed(:read_issue, :read_issue_iid, :update_issue, :admin_issue, :reopen_issue)
expect(permissions(reporter, issue_no_assignee)).to be_allowed(:read_issue, :read_issue_iid, :update_issue, :admin_issue, :reopen_issue)
expect(permissions(reporter, issue_locked)).to be_allowed(:read_issue, :read_issue_iid, :update_issue, :admin_issue)
expect(permissions(reporter, issue_locked)).to be_disallowed(:reopen_issue)
end
- it 'allows reporters from group links to read, update, reopen and admin issues' do
+ it "allows reporters from group links to read, update, reopen and admin issues" do
expect(permissions(reporter_from_group_link, issue)).to be_allowed(:read_issue, :read_issue_iid, :update_issue, :admin_issue, :reopen_issue)
expect(permissions(reporter_from_group_link, issue_no_assignee)).to be_allowed(:read_issue, :read_issue_iid, :update_issue, :admin_issue, :reopen_issue)
expect(permissions(reporter_from_group_link, issue_locked)).to be_allowed(:read_issue, :read_issue_iid, :update_issue, :admin_issue)
expect(permissions(reporter_from_group_link, issue_locked)).to be_disallowed(:reopen_issue)
end
- it 'allows issue authors to read, reopen and update their issues' do
+ it "allows issue authors to read, reopen and update their issues" do
expect(permissions(author, issue)).to be_allowed(:read_issue, :read_issue_iid, :update_issue, :reopen_issue)
expect(permissions(author, issue)).to be_disallowed(:admin_issue)
@@ -159,7 +159,7 @@ describe IssuePolicy do
expect(permissions(author, issue_locked)).to be_disallowed(:admin_issue, :reopen_issue)
end
- it 'allows issue assignees to read, reopen and update their issues' do
+ it "allows issue assignees to read, reopen and update their issues" do
expect(permissions(assignee, issue)).to be_allowed(:read_issue, :read_issue_iid, :update_issue, :reopen_issue)
expect(permissions(assignee, issue)).to be_disallowed(:admin_issue)
@@ -170,33 +170,33 @@ describe IssuePolicy do
expect(permissions(assignee, issue_locked)).to be_disallowed(:admin_issue, :reopen_issue)
end
- context 'with confidential issues' do
+ context "with confidential issues" do
let(:confidential_issue) { create(:issue, :confidential, project: project, assignees: [assignee], author: author) }
let(:confidential_issue_no_assignee) { create(:issue, :confidential, project: project) }
- it 'does not allow guests to read confidential issues' do
+ it "does not allow guests to read confidential issues" do
expect(permissions(guest, confidential_issue)).to be_disallowed(:read_issue, :read_issue_iid, :update_issue, :admin_issue)
expect(permissions(guest, confidential_issue_no_assignee)).to be_disallowed(:read_issue, :read_issue_iid, :update_issue, :admin_issue)
end
- it 'allows reporters to read, update, and admin confidential issues' do
+ it "allows reporters to read, update, and admin confidential issues" do
expect(permissions(reporter, confidential_issue)).to be_allowed(:read_issue, :read_issue_iid, :update_issue, :admin_issue)
expect(permissions(reporter, confidential_issue_no_assignee)).to be_allowed(:read_issue, :read_issue_iid, :update_issue, :admin_issue)
end
- it 'allows reporter from group links to read, update, and admin confidential issues' do
+ it "allows reporter from group links to read, update, and admin confidential issues" do
expect(permissions(reporter_from_group_link, confidential_issue)).to be_allowed(:read_issue, :read_issue_iid, :update_issue, :admin_issue)
expect(permissions(reporter_from_group_link, confidential_issue_no_assignee)).to be_allowed(:read_issue, :read_issue_iid, :update_issue, :admin_issue)
end
- it 'allows issue authors to read and update their confidential issues' do
+ it "allows issue authors to read and update their confidential issues" do
expect(permissions(author, confidential_issue)).to be_allowed(:read_issue, :read_issue_iid, :update_issue)
expect(permissions(author, confidential_issue)).to be_disallowed(:admin_issue)
expect(permissions(author, confidential_issue_no_assignee)).to be_disallowed(:read_issue, :read_issue_iid, :update_issue, :admin_issue)
end
- it 'allows issue assignees to read and update their confidential issues' do
+ it "allows issue assignees to read and update their confidential issues" do
expect(permissions(assignee, confidential_issue)).to be_allowed(:read_issue, :read_issue_iid, :update_issue)
expect(permissions(assignee, confidential_issue)).to be_disallowed(:admin_issue)
diff --git a/spec/policies/namespace_policy_spec.rb b/spec/policies/namespace_policy_spec.rb
index 1fdf95ad716..23e75d91fe7 100644
--- a/spec/policies/namespace_policy_spec.rb
+++ b/spec/policies/namespace_policy_spec.rb
@@ -1,4 +1,4 @@
-require 'spec_helper'
+require "spec_helper"
describe NamespacePolicy do
let(:user) { create(:user) }
@@ -10,31 +10,31 @@ describe NamespacePolicy do
subject { described_class.new(current_user, namespace) }
- context 'with no user' do
+ context "with no user" do
let(:current_user) { nil }
it { is_expected.to be_banned }
end
- context 'regular user' do
+ context "regular user" do
let(:current_user) { user }
it { is_expected.to be_disallowed(*owner_permissions) }
end
- context 'owner' do
+ context "owner" do
let(:current_user) { owner }
it { is_expected.to be_allowed(*owner_permissions) }
- context 'user who has exceeded project limit' do
+ context "user who has exceeded project limit" do
let(:owner) { create(:user, projects_limit: 0) }
it { is_expected.not_to be_allowed(:create_projects) }
end
end
- context 'admin' do
+ context "admin" do
let(:current_user) { admin }
it { is_expected.to be_allowed(*owner_permissions) }
diff --git a/spec/policies/note_policy_spec.rb b/spec/policies/note_policy_spec.rb
index 0e848c74659..ed9d88d3b9d 100644
--- a/spec/policies/note_policy_spec.rb
+++ b/spec/policies/note_policy_spec.rb
@@ -1,7 +1,7 @@
-require 'spec_helper'
+require "spec_helper"
describe NotePolicy, mdoels: true do
- describe '#rules' do
+ describe "#rules" do
let(:user) { create(:user) }
let(:project) { create(:project, :public) }
let(:issue) { create(:issue, project: project) }
@@ -11,20 +11,20 @@ describe NotePolicy, mdoels: true do
noteable ||= issue
note = if noteable.is_a?(Commit)
- create(:note_on_commit, commit_id: noteable.id, author: user, project: project)
- else
- create(:note, noteable: noteable, author: user, project: project)
- end
+ create(:note_on_commit, commit_id: noteable.id, author: user, project: project)
+ else
+ create(:note, noteable: noteable, author: user, project: project)
+ end
@policies = described_class.new(user, note)
end
- shared_examples_for 'a discussion with a private noteable' do
+ shared_examples_for "a discussion with a private noteable" do
let(:noteable) { issue }
let(:policy) { policies(noteable) }
- context 'when the note author can no longer see the noteable' do
- it 'can not edit nor read the note' do
+ context "when the note author can no longer see the noteable" do
+ it "can not edit nor read the note" do
expect(policy).to be_disallowed(:admin_note)
expect(policy).to be_disallowed(:resolve_note)
expect(policy).to be_disallowed(:read_note)
@@ -32,12 +32,12 @@ describe NotePolicy, mdoels: true do
end
end
- context 'when the note author can still see the noteable' do
+ context "when the note author can still see the noteable" do
before do
project.add_developer(user)
end
- it 'can edit the note' do
+ it "can edit the note" do
expect(policy).to be_allowed(:admin_note)
expect(policy).to be_allowed(:resolve_note)
expect(policy).to be_allowed(:read_note)
@@ -46,27 +46,27 @@ describe NotePolicy, mdoels: true do
end
end
- context 'when the project is private' do
+ context "when the project is private" do
let(:project) { create(:project, :private, :repository) }
- context 'when the noteable is a commit' do
- it_behaves_like 'a discussion with a private noteable' do
+ context "when the noteable is a commit" do
+ it_behaves_like "a discussion with a private noteable" do
let(:noteable) { project.repository.head_commit }
end
end
end
- context 'when the project is public' do
- context 'when the note author is not a project member' do
- it 'can edit a note' do
+ context "when the project is public" do
+ context "when the note author is not a project member" do
+ it "can edit a note" do
expect(policies).to be_allowed(:admin_note)
expect(policies).to be_allowed(:resolve_note)
expect(policies).to be_allowed(:read_note)
end
end
- context 'when the noteable is a project snippet' do
- it 'can edit note' do
+ context "when the noteable is a project snippet" do
+ it "can edit note" do
policies = policies(create(:project_snippet, :public, project: project))
expect(policies).to be_allowed(:admin_note)
@@ -74,15 +74,15 @@ describe NotePolicy, mdoels: true do
expect(policies).to be_allowed(:read_note)
end
- context 'when it is private' do
- it_behaves_like 'a discussion with a private noteable' do
+ context "when it is private" do
+ it_behaves_like "a discussion with a private noteable" do
let(:noteable) { create(:project_snippet, :private, project: project) }
end
end
end
- context 'when the noteable is a personal snippet' do
- it 'can edit note' do
+ context "when the noteable is a personal snippet" do
+ it "can edit note" do
policies = policies(create(:personal_snippet, :public))
expect(policies).to be_allowed(:admin_note)
@@ -90,8 +90,8 @@ describe NotePolicy, mdoels: true do
expect(policies).to be_allowed(:read_note)
end
- context 'when it is private' do
- it 'can not edit nor read the note' do
+ context "when it is private" do
+ it "can not edit nor read the note" do
policies = policies(create(:personal_snippet, :private))
expect(policies).to be_disallowed(:admin_note)
@@ -101,38 +101,38 @@ describe NotePolicy, mdoels: true do
end
end
- context 'when a discussion is confidential' do
+ context "when a discussion is confidential" do
before do
issue.update_attribute(:confidential, true)
end
- it_behaves_like 'a discussion with a private noteable'
+ it_behaves_like "a discussion with a private noteable"
end
- context 'when a discussion is locked' do
+ context "when a discussion is locked" do
before do
issue.update_attribute(:discussion_locked, true)
end
- context 'when the note author is a project member' do
+ context "when the note author is a project member" do
before do
project.add_developer(user)
end
- it 'can edit a note' do
+ it "can edit a note" do
expect(policies).to be_allowed(:admin_note)
expect(policies).to be_allowed(:resolve_note)
expect(policies).to be_allowed(:read_note)
end
end
- context 'when the note author is not a project member' do
- it 'can not edit a note' do
+ context "when the note author is not a project member" do
+ it "can not edit a note" do
expect(policies).to be_disallowed(:admin_note)
expect(policies).to be_disallowed(:resolve_note)
end
- it 'can read a note' do
+ it "can read a note" do
expect(policies).to be_allowed(:read_note)
end
end
diff --git a/spec/policies/personal_snippet_policy_spec.rb b/spec/policies/personal_snippet_policy_spec.rb
index a38e0dbd797..1e71d4b94ea 100644
--- a/spec/policies/personal_snippet_policy_spec.rb
+++ b/spec/policies/personal_snippet_policy_spec.rb
@@ -1,4 +1,4 @@
-require 'spec_helper'
+require "spec_helper"
# Snippet visibility scenarios are included in more details in spec/support/snippet_visibility.rb
describe PersonalSnippetPolicy do
@@ -10,14 +10,14 @@ describe PersonalSnippetPolicy do
[
:update_personal_snippet,
:admin_personal_snippet,
- :destroy_personal_snippet
+ :destroy_personal_snippet,
]
end
let(:comment_permissions) do
[
:comment_personal_snippet,
- :create_note
+ :create_note,
]
end
@@ -25,10 +25,10 @@ describe PersonalSnippetPolicy do
described_class.new(user, snippet)
end
- context 'public snippet' do
+ context "public snippet" do
let(:snippet) { create(:personal_snippet, :public) }
- context 'no user' do
+ context "no user" do
subject { permissions(nil) }
it do
@@ -39,7 +39,7 @@ describe PersonalSnippetPolicy do
end
end
- context 'regular user' do
+ context "regular user" do
subject { permissions(regular_user) }
it do
@@ -50,7 +50,7 @@ describe PersonalSnippetPolicy do
end
end
- context 'author' do
+ context "author" do
subject { permissions(snippet.author) }
it do
@@ -62,10 +62,10 @@ describe PersonalSnippetPolicy do
end
end
- context 'internal snippet' do
+ context "internal snippet" do
let(:snippet) { create(:personal_snippet, :internal) }
- context 'no user' do
+ context "no user" do
subject { permissions(nil) }
it do
@@ -76,7 +76,7 @@ describe PersonalSnippetPolicy do
end
end
- context 'regular user' do
+ context "regular user" do
subject { permissions(regular_user) }
it do
@@ -87,7 +87,7 @@ describe PersonalSnippetPolicy do
end
end
- context 'external user' do
+ context "external user" do
subject { permissions(external_user) }
it do
@@ -98,7 +98,7 @@ describe PersonalSnippetPolicy do
end
end
- context 'snippet author' do
+ context "snippet author" do
subject { permissions(snippet.author) }
it do
@@ -110,10 +110,10 @@ describe PersonalSnippetPolicy do
end
end
- context 'private snippet' do
+ context "private snippet" do
let(:snippet) { create(:project_snippet, :private) }
- context 'no user' do
+ context "no user" do
subject { permissions(nil) }
it do
@@ -124,7 +124,7 @@ describe PersonalSnippetPolicy do
end
end
- context 'regular user' do
+ context "regular user" do
subject { permissions(regular_user) }
it do
@@ -135,7 +135,7 @@ describe PersonalSnippetPolicy do
end
end
- context 'admin user' do
+ context "admin user" do
subject { permissions(admin_user) }
it do
@@ -146,7 +146,7 @@ describe PersonalSnippetPolicy do
end
end
- context 'external user' do
+ context "external user" do
subject { permissions(external_user) }
it do
@@ -157,7 +157,7 @@ describe PersonalSnippetPolicy do
end
end
- context 'snippet author' do
+ context "snippet author" do
subject { permissions(snippet.author) }
it do
diff --git a/spec/policies/project_policy_spec.rb b/spec/policies/project_policy_spec.rb
index 997bdc82af6..e56eb6a2cb5 100644
--- a/spec/policies/project_policy_spec.rb
+++ b/spec/policies/project_policy_spec.rb
@@ -1,4 +1,4 @@
-require 'spec_helper'
+require "spec_helper"
describe ProjectPolicy do
set(:guest) { create(:user) }
@@ -93,7 +93,7 @@ describe ProjectPolicy do
permissions.each { |p| is_expected.not_to be_allowed(p) }
end
- it 'does not include the read_issue permission when the issue author is not a member of the private project' do
+ it "does not include the read_issue permission when the issue author is not a member of the private project" do
project = create(:project, :private)
issue = create(:issue, project: project, author: create(:user))
user = issue.author
@@ -103,22 +103,22 @@ describe ProjectPolicy do
expect(Ability).not_to be_allowed(user, :read_issue, project)
end
- context 'wiki feature' do
- let(:permissions) { %i(read_wiki create_wiki update_wiki admin_wiki download_wiki_code) }
+ context "wiki feature" do
+ let(:permissions) { %i[read_wiki create_wiki update_wiki admin_wiki download_wiki_code] }
subject { described_class.new(owner, project) }
- context 'when the feature is disabled' do
+ context "when the feature is disabled" do
before do
project.project_feature.update_attribute(:wiki_access_level, ProjectFeature::DISABLED)
end
- it 'does not include the wiki permissions' do
+ it "does not include the wiki permissions" do
expect_disallowed(*permissions)
end
- context 'when there is an external wiki' do
- it 'does not include the wiki permissions' do
+ context "when there is an external wiki" do
+ it "does not include the wiki permissions" do
allow(project).to receive(:has_external_wiki?).and_return(true)
expect_disallowed(*permissions)
@@ -127,11 +127,11 @@ describe ProjectPolicy do
end
end
- context 'issues feature' do
+ context "issues feature" do
subject { described_class.new(owner, project) }
- context 'when the feature is disabled' do
- it 'does not include the issues permissions' do
+ context "when the feature is disabled" do
+ it "does not include the issues permissions" do
project.issues_enabled = false
project.save!
@@ -139,8 +139,8 @@ describe ProjectPolicy do
end
end
- context 'when the feature is disabled and external tracker configured' do
- it 'does not include the issues permissions' do
+ context "when the feature is disabled and external tracker configured" do
+ it "does not include the issues permissions" do
create(:jira_service, project: project)
project.issues_enabled = false
@@ -151,62 +151,62 @@ describe ProjectPolicy do
end
end
- context 'merge requests feature' do
+ context "merge requests feature" do
subject { described_class.new(owner, project) }
- it 'disallows all permissions when the feature is disabled' do
+ it "disallows all permissions when the feature is disabled" do
project.project_feature.update(merge_requests_access_level: ProjectFeature::DISABLED)
mr_permissions = [:create_merge_request_from, :read_merge_request,
:update_merge_request, :admin_merge_request,
- :create_merge_request_in]
+ :create_merge_request_in,]
expect_disallowed(*mr_permissions)
end
end
- context 'for a guest in a private project' do
+ context "for a guest in a private project" do
let(:project) { create(:project, :private) }
subject { described_class.new(guest, project) }
- it 'disallows the guest from reading the merge request and merge request iid' do
+ it "disallows the guest from reading the merge request and merge request iid" do
expect_disallowed(:read_merge_request)
expect_disallowed(:read_merge_request_iid)
end
end
- context 'builds feature' do
- context 'when builds are disabled' do
+ context "builds feature" do
+ context "when builds are disabled" do
subject { described_class.new(owner, project) }
before do
project.project_feature.update(builds_access_level: ProjectFeature::DISABLED)
end
- it 'disallows all permissions except pipeline when the feature is disabled' do
+ it "disallows all permissions except pipeline when the feature is disabled" do
builds_permissions = [
:create_build, :read_build, :update_build, :admin_build, :destroy_build,
:create_pipeline_schedule, :read_pipeline_schedule, :update_pipeline_schedule, :admin_pipeline_schedule, :destroy_pipeline_schedule,
:create_environment, :read_environment, :update_environment, :admin_environment, :destroy_environment,
:create_cluster, :read_cluster, :update_cluster, :admin_cluster, :destroy_cluster,
- :create_deployment, :read_deployment, :update_deployment, :admin_deployment, :destroy_deployment
+ :create_deployment, :read_deployment, :update_deployment, :admin_deployment, :destroy_deployment,
]
expect_disallowed(*builds_permissions)
end
end
- context 'when builds are disabled only for some users' do
+ context "when builds are disabled only for some users" do
subject { described_class.new(guest, project) }
before do
project.project_feature.update(builds_access_level: ProjectFeature::PRIVATE)
end
- it 'disallows pipeline and commit_status permissions' do
+ it "disallows pipeline and commit_status permissions" do
builds_permissions = [
:create_pipeline, :update_pipeline, :admin_pipeline, :destroy_pipeline,
- :create_commit_status, :update_commit_status, :admin_commit_status, :destroy_commit_status
+ :create_commit_status, :update_commit_status, :admin_commit_status, :destroy_commit_status,
]
expect_disallowed(*builds_permissions)
@@ -214,10 +214,10 @@ describe ProjectPolicy do
end
end
- context 'repository feature' do
+ context "repository feature" do
subject { described_class.new(owner, project) }
- it 'disallows all permissions when the feature is disabled' do
+ it "disallows all permissions when the feature is disabled" do
project.project_feature.update(repository_access_level: ProjectFeature::DISABLED)
repository_permissions = [
@@ -227,14 +227,14 @@ describe ProjectPolicy do
:create_environment, :read_environment, :update_environment, :admin_environment, :destroy_environment,
:create_cluster, :read_cluster, :update_cluster, :admin_cluster,
:create_deployment, :read_deployment, :update_deployment, :admin_deployment, :destroy_deployment,
- :destroy_release
+ :destroy_release,
]
expect_disallowed(*repository_permissions)
end
end
- shared_examples 'archived project policies' do
+ shared_examples "archived project policies" do
let(:feature_write_abilities) do
described_class::READONLY_FEATURES_WHEN_ARCHIVED.flat_map do |feature|
described_class.create_update_admin_destroy(feature)
@@ -254,28 +254,28 @@ describe ProjectPolicy do
]
end
- context 'when the project is archived' do
+ context "when the project is archived" do
before do
project.archived = true
end
- it 'disables write actions on all relevant project features' do
+ it "disables write actions on all relevant project features" do
expect_disallowed(*feature_write_abilities)
end
- it 'disables some other important write actions' do
+ it "disables some other important write actions" do
expect_disallowed(*other_write_abilities)
end
- it 'does not disable other abilities' do
+ it "does not disable other abilities" do
expect_allowed(*(regular_abilities - feature_write_abilities - other_write_abilities))
end
end
end
- shared_examples 'project policies as anonymous' do
- context 'abilities for public projects' do
- context 'when a project has pending invites' do
+ shared_examples "project policies as anonymous" do
+ context "abilities for public projects" do
+ context "when a project has pending invites" do
let(:group) { create(:group, :public) }
let(:project) { create(:project, :public, namespace: group) }
let(:user_permissions) { [:create_merge_request_in, :create_project, :create_issue, :create_note, :upload_file, :award_emoji] }
@@ -287,18 +287,18 @@ describe ProjectPolicy do
create(:group_member, :invited, group: group)
end
- it 'does not grant owner access' do
+ it "does not grant owner access" do
expect_allowed(*anonymous_permissions)
expect_disallowed(*user_permissions)
end
- it_behaves_like 'archived project policies' do
+ it_behaves_like "archived project policies" do
let(:regular_abilities) { anonymous_permissions }
end
end
end
- context 'abilities for non-public projects' do
+ context "abilities for non-public projects" do
let(:project) { create(:project, namespace: owner.namespace) }
subject { described_class.new(nil, project) }
@@ -307,10 +307,10 @@ describe ProjectPolicy do
end
end
- shared_examples 'project policies as guest' do
+ shared_examples "project policies as guest" do
subject { described_class.new(guest, project) }
- context 'abilities for non-public projects' do
+ context "abilities for non-public projects" do
let(:project) { create(:project, namespace: owner.namespace) }
let(:reporter_public_build_permissions) do
reporter_permissions - [:read_build, :read_pipeline]
@@ -325,18 +325,18 @@ describe ProjectPolicy do
expect_disallowed(*owner_permissions)
end
- it_behaves_like 'archived project policies' do
+ it_behaves_like "archived project policies" do
let(:regular_abilities) { guest_permissions }
end
- context 'public builds enabled' do
+ context "public builds enabled" do
it do
expect_allowed(*guest_permissions)
expect_allowed(:read_build, :read_pipeline)
end
end
- context 'when public builds disabled' do
+ context "when public builds disabled" do
before do
project.update(public_builds: false)
end
@@ -347,7 +347,7 @@ describe ProjectPolicy do
end
end
- context 'when builds are disabled' do
+ context "when builds are disabled" do
before do
project.project_feature.update(builds_access_level: ProjectFeature::DISABLED)
end
@@ -360,8 +360,8 @@ describe ProjectPolicy do
end
end
- shared_examples 'project policies as reporter' do
- context 'abilities for non-public projects' do
+ shared_examples "project policies as reporter" do
+ context "abilities for non-public projects" do
let(:project) { create(:project, namespace: owner.namespace) }
subject { described_class.new(reporter, project) }
@@ -375,14 +375,14 @@ describe ProjectPolicy do
expect_disallowed(*owner_permissions)
end
- it_behaves_like 'archived project policies' do
+ it_behaves_like "archived project policies" do
let(:regular_abilities) { reporter_permissions }
end
end
end
- shared_examples 'project policies as developer' do
- context 'abilities for non-public projects' do
+ shared_examples "project policies as developer" do
+ context "abilities for non-public projects" do
let(:project) { create(:project, namespace: owner.namespace) }
subject { described_class.new(developer, project) }
@@ -396,14 +396,14 @@ describe ProjectPolicy do
expect_disallowed(*owner_permissions)
end
- it_behaves_like 'archived project policies' do
+ it_behaves_like "archived project policies" do
let(:regular_abilities) { developer_permissions }
end
end
end
- shared_examples 'project policies as maintainer' do
- context 'abilities for non-public projects' do
+ shared_examples "project policies as maintainer" do
+ context "abilities for non-public projects" do
let(:project) { create(:project, namespace: owner.namespace) }
subject { described_class.new(maintainer, project) }
@@ -417,14 +417,14 @@ describe ProjectPolicy do
expect_disallowed(*owner_permissions)
end
- it_behaves_like 'archived project policies' do
+ it_behaves_like "archived project policies" do
let(:regular_abilities) { maintainer_permissions }
end
end
end
- shared_examples 'project policies as owner' do
- context 'abilities for non-public projects' do
+ shared_examples "project policies as owner" do
+ context "abilities for non-public projects" do
let(:project) { create(:project, namespace: owner.namespace) }
subject { described_class.new(owner, project) }
@@ -438,14 +438,14 @@ describe ProjectPolicy do
expect_allowed(*owner_permissions)
end
- it_behaves_like 'archived project policies' do
+ it_behaves_like "archived project policies" do
let(:regular_abilities) { owner_permissions }
end
end
end
- shared_examples 'project policies as admin' do
- context 'abilities for non-public projects' do
+ shared_examples "project policies as admin" do
+ context "abilities for non-public projects" do
let(:project) { create(:project, namespace: owner.namespace) }
subject { described_class.new(admin, project) }
@@ -459,21 +459,21 @@ describe ProjectPolicy do
expect_allowed(*owner_permissions)
end
- it_behaves_like 'archived project policies' do
+ it_behaves_like "archived project policies" do
let(:regular_abilities) { owner_permissions }
end
end
end
- it_behaves_like 'project policies as anonymous'
- it_behaves_like 'project policies as guest'
- it_behaves_like 'project policies as reporter'
- it_behaves_like 'project policies as developer'
- it_behaves_like 'project policies as maintainer'
- it_behaves_like 'project policies as owner'
- it_behaves_like 'project policies as admin'
+ it_behaves_like "project policies as anonymous"
+ it_behaves_like "project policies as guest"
+ it_behaves_like "project policies as reporter"
+ it_behaves_like "project policies as developer"
+ it_behaves_like "project policies as maintainer"
+ it_behaves_like "project policies as owner"
+ it_behaves_like "project policies as admin"
- context 'when a public project has merge requests allowing access' do
+ context "when a public project has merge requests allowing access" do
include ProjectForksHelper
let(:user) { create(:user) }
let(:target_project) { create(:project, :public) }
@@ -487,22 +487,22 @@ describe ProjectPolicy do
)
end
let(:maintainer_abilities) do
- %w(create_build create_pipeline)
+ %w[create_build create_pipeline]
end
subject { described_class.new(user, project) }
- it 'does not allow pushing code' do
+ it "does not allow pushing code" do
expect_disallowed(*maintainer_abilities)
end
- it 'allows pushing if the user is a member with push access to the target project' do
+ it "allows pushing if the user is a member with push access to the target project" do
target_project.add_developer(user)
expect_allowed(*maintainer_abilities)
end
- it 'dissallows abilities to a maintainer if the merge request was closed' do
+ it "dissallows abilities to a maintainer if the merge request was closed" do
target_project.add_developer(user)
merge_request.close!
@@ -510,13 +510,13 @@ describe ProjectPolicy do
end
end
- it_behaves_like 'clusterable policies' do
+ it_behaves_like "clusterable policies" do
let(:clusterable) { create(:project, :repository) }
let(:cluster) do
create(:cluster,
- :provided_by_gcp,
- :project,
- projects: [clusterable])
+ :provided_by_gcp,
+ :project,
+ projects: [clusterable])
end
end
end
diff --git a/spec/policies/project_snippet_policy_spec.rb b/spec/policies/project_snippet_policy_spec.rb
index d6329e84579..d0e32ea6f75 100644
--- a/spec/policies/project_snippet_policy_spec.rb
+++ b/spec/policies/project_snippet_policy_spec.rb
@@ -1,4 +1,4 @@
-require 'spec_helper'
+require "spec_helper"
# Snippet visibility scenarios are included in more details in spec/support/snippet_visibility.rb
describe ProjectSnippetPolicy do
@@ -9,7 +9,7 @@ describe ProjectSnippetPolicy do
let(:author_permissions) do
[
:update_project_snippet,
- :admin_project_snippet
+ :admin_project_snippet,
]
end
@@ -27,8 +27,8 @@ describe ProjectSnippetPolicy do
permissions.each { |p| is_expected.not_to be_allowed(p) }
end
- context 'public snippet' do
- context 'no user' do
+ context "public snippet" do
+ context "no user" do
subject { abilities(nil, :public) }
it do
@@ -37,7 +37,7 @@ describe ProjectSnippetPolicy do
end
end
- context 'regular user' do
+ context "regular user" do
subject { abilities(regular_user, :public) }
it do
@@ -46,7 +46,7 @@ describe ProjectSnippetPolicy do
end
end
- context 'external user' do
+ context "external user" do
subject { abilities(external_user, :public) }
it do
@@ -56,8 +56,8 @@ describe ProjectSnippetPolicy do
end
end
- context 'internal snippet' do
- context 'no user' do
+ context "internal snippet" do
+ context "no user" do
subject { abilities(nil, :internal) }
it do
@@ -66,7 +66,7 @@ describe ProjectSnippetPolicy do
end
end
- context 'regular user' do
+ context "regular user" do
subject { abilities(regular_user, :internal) }
it do
@@ -75,7 +75,7 @@ describe ProjectSnippetPolicy do
end
end
- context 'external user' do
+ context "external user" do
subject { abilities(external_user, :internal) }
it do
@@ -84,7 +84,7 @@ describe ProjectSnippetPolicy do
end
end
- context 'project team member external user' do
+ context "project team member external user" do
subject { abilities(external_user, :internal) }
before do
@@ -98,8 +98,8 @@ describe ProjectSnippetPolicy do
end
end
- context 'private snippet' do
- context 'no user' do
+ context "private snippet" do
+ context "no user" do
subject { abilities(nil, :private) }
it do
@@ -108,7 +108,7 @@ describe ProjectSnippetPolicy do
end
end
- context 'regular user' do
+ context "regular user" do
subject { abilities(regular_user, :private) }
it do
@@ -117,7 +117,7 @@ describe ProjectSnippetPolicy do
end
end
- context 'snippet author' do
+ context "snippet author" do
let(:snippet) { create(:project_snippet, :private, author: regular_user, project: project) }
subject { described_class.new(regular_user, snippet) }
@@ -128,7 +128,7 @@ describe ProjectSnippetPolicy do
end
end
- context 'project team member normal user' do
+ context "project team member normal user" do
subject { abilities(regular_user, :private) }
before do
@@ -141,7 +141,7 @@ describe ProjectSnippetPolicy do
end
end
- context 'project team member external user' do
+ context "project team member external user" do
subject { abilities(external_user, :private) }
before do
@@ -154,7 +154,7 @@ describe ProjectSnippetPolicy do
end
end
- context 'admin user' do
+ context "admin user" do
subject { abilities(create(:admin), :private) }
it do
diff --git a/spec/policies/protected_branch_policy_spec.rb b/spec/policies/protected_branch_policy_spec.rb
index 1587196754d..ae62c4e5fae 100644
--- a/spec/policies/protected_branch_policy_spec.rb
+++ b/spec/policies/protected_branch_policy_spec.rb
@@ -1,14 +1,14 @@
-require 'spec_helper'
+require "spec_helper"
describe ProtectedBranchPolicy do
let(:user) { create(:user) }
- let(:name) { 'feature' }
+ let(:name) { "feature" }
let(:protected_branch) { create(:protected_branch, name: name) }
let(:project) { protected_branch.project }
subject { described_class.new(user, protected_branch) }
- it 'branches can be updated via project maintainers' do
+ it "branches can be updated via project maintainers" do
project.add_maintainer(user)
is_expected.to be_allowed(:update_protected_branch)
diff --git a/spec/policies/user_policy_spec.rb b/spec/policies/user_policy_spec.rb
index 7e0a1824200..b85f4e35f86 100644
--- a/spec/policies/user_policy_spec.rb
+++ b/spec/policies/user_policy_spec.rb
@@ -1,4 +1,4 @@
-require 'spec_helper'
+require "spec_helper"
describe UserPolicy do
let(:current_user) { create(:user) }
@@ -10,7 +10,7 @@ describe UserPolicy do
it { is_expected.to be_allowed(:read_user) }
end
- shared_examples 'changing a user' do |ability|
+ shared_examples "changing a user" do |ability|
context "when a regular user tries to destroy another regular user" do
it { is_expected.not_to be_allowed(ability) }
end
@@ -36,14 +36,14 @@ describe UserPolicy do
end
describe "updating a user's status" do
- it_behaves_like 'changing a user', :update_user_status
+ it_behaves_like "changing a user", :update_user_status
end
describe "destroying a user" do
- it_behaves_like 'changing a user', :destroy_user
+ it_behaves_like "changing a user", :destroy_user
end
describe "updating a user" do
- it_behaves_like 'changing a user', :update_user
+ it_behaves_like "changing a user", :update_user
end
end