add test to can_change_visibility_level? method
This commit is contained in:
parent
003f140ce7
commit
96862096f1
|
|
@ -1,6 +1,8 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe ProjectsHelper do
|
||||
include ProjectForksHelper
|
||||
|
||||
describe "#project_status_css_class" do
|
||||
it "returns appropriate class" do
|
||||
expect(project_status_css_class("started")).to eq("active")
|
||||
|
|
@ -10,9 +12,9 @@ describe ProjectsHelper do
|
|||
end
|
||||
|
||||
describe "can_change_visibility_level?" do
|
||||
let(:project) { create(:project, :repository) }
|
||||
let(:project) { create(:project) }
|
||||
let(:user) { create(:project_member, :reporter, user: create(:user), project: project).user }
|
||||
let(:fork_project) { Projects::ForkService.new(project, user).execute }
|
||||
let(:forked_project) { fork_project(project, user) }
|
||||
|
||||
it "returns false if there are no appropriate permissions" do
|
||||
allow(helper).to receive(:can?) { false }
|
||||
|
|
@ -26,13 +28,21 @@ describe ProjectsHelper do
|
|||
expect(helper.can_change_visibility_level?(project, user)).to be_truthy
|
||||
end
|
||||
|
||||
it 'allows visibility level to be changed if the project is forked' do
|
||||
allow(helper).to receive(:can?).with(user, :change_visibility_level, project) { true }
|
||||
project.update! visibility_level: Gitlab::VisibilityLevel::PRIVATE
|
||||
fork_project(project)
|
||||
|
||||
expect(helper.can_change_visibility_level?(project, user)).to be_truthy
|
||||
end
|
||||
|
||||
context "forks" do
|
||||
it "returns false if there are permissions and origin project is PRIVATE" do
|
||||
allow(helper).to receive(:can?) { true }
|
||||
|
||||
project.update visibility_level: Gitlab::VisibilityLevel::PRIVATE
|
||||
|
||||
expect(helper.can_change_visibility_level?(fork_project, user)).to be_falsey
|
||||
expect(helper.can_change_visibility_level?(forked_project, user)).to be_falsey
|
||||
end
|
||||
|
||||
it "returns true if there are permissions and origin project is INTERNAL" do
|
||||
|
|
@ -40,7 +50,7 @@ describe ProjectsHelper do
|
|||
|
||||
project.update visibility_level: Gitlab::VisibilityLevel::INTERNAL
|
||||
|
||||
expect(helper.can_change_visibility_level?(fork_project, user)).to be_truthy
|
||||
expect(helper.can_change_visibility_level?(forked_project, user)).to be_truthy
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Reference in New Issue