Skip to content
Snippets Groups Projects
Commit 45e8650c authored by Douwe Maan's avatar Douwe Maan
Browse files

Fix specs

parent 19aa20d5
No related branches found
No related tags found
No related merge requests found
Loading
@@ -198,7 +198,7 @@ class Project < ActiveRecord::Base
Loading
@@ -198,7 +198,7 @@ class Project < ActiveRecord::Base
if: ->(project) { project.avatar.present? && project.avatar_changed? } if: ->(project) { project.avatar.present? && project.avatar_changed? }
validates :avatar, file_size: { maximum: 200.kilobytes.to_i } validates :avatar, file_size: { maximum: 200.kilobytes.to_i }
validate :visibility_level_allowed_by_group validate :visibility_level_allowed_by_group
validate :visibility_level_allowed_as_fork validate :visibility_level_allowed_as_fork, on: :update
   
add_authentication_token_field :runners_token add_authentication_token_field :runners_token
before_save :ensure_runners_token before_save :ensure_runners_token
Loading
@@ -974,7 +974,7 @@ class Project < ActiveRecord::Base
Loading
@@ -974,7 +974,7 @@ class Project < ActiveRecord::Base
def visibility_level_allowed_as_fork?(level = self.visibility_level) def visibility_level_allowed_as_fork?(level = self.visibility_level)
return true unless forked? return true unless forked?
   
Gitlab::VisibilityLevel.allowed_fork_levels(forked_from_project.visibility_level).include?(level) level <= forked_from_project.visibility_level
end end
   
def visibility_level_allowed_by_group?(level = self.visibility_level) def visibility_level_allowed_by_group?(level = self.visibility_level)
Loading
Loading
module Groups module Groups
class BaseService < BaseService class BaseService < ::BaseService
attr_accessor :group, :current_user, :params attr_accessor :group, :current_user, :params
   
def initialize(group, user, params = {}) def initialize(group, user, params = {})
Loading
Loading
Loading
@@ -56,10 +56,6 @@ module Gitlab
Loading
@@ -56,10 +56,6 @@ module Gitlab
options.has_value?(level) options.has_value?(level)
end end
   
def allowed_fork_levels(origin_level)
[PRIVATE, INTERNAL, PUBLIC].select{ |level| level <= origin_level }
end
def level_name(level) def level_name(level)
level_name = 'Unknown' level_name = 'Unknown'
options.each do |name, lvl| options.each do |name, lvl|
Loading
Loading
Loading
@@ -11,16 +11,8 @@ describe ProjectsHelper do
Loading
@@ -11,16 +11,8 @@ describe ProjectsHelper do
   
describe "can_change_visibility_level?" do describe "can_change_visibility_level?" do
let(:project) { create(:project) } let(:project) { create(:project) }
let(:fork_project) do
fork_project = create(:forked_project_with_submodules)
fork_project.build_forked_project_link(forked_to_project_id: fork_project.id, forked_from_project_id: project.id)
fork_project.save
fork_project
end
let(:user) { create(:user) } let(:user) { create(:user) }
let(:fork_project) { Projects::ForkService.new(project, user).execute }
   
it "returns false if there are no appropriate permissions" do it "returns false if there are no appropriate permissions" do
allow(helper).to receive(:can?) { false } allow(helper).to receive(:can?) { false }
Loading
Loading
Loading
@@ -67,9 +67,9 @@ describe Group, models: true do
Loading
@@ -67,9 +67,9 @@ describe Group, models: true do
end end
   
describe 'public_and_internal_only' do describe 'public_and_internal_only' do
subject { described_class.public_and_internal_only.to_a } subject { described_class.public_and_internal_only.to_a.sort }
   
it{ is_expected.to eq([group, internal_group]) } it{ is_expected.to eq([group, internal_group].sort) }
end end
end end
   
Loading
Loading
Loading
@@ -16,8 +16,9 @@ describe Groups::UpdateService, services: true do
Loading
@@ -16,8 +16,9 @@ describe Groups::UpdateService, services: true do
create(:project, :public, group: public_group) create(:project, :public, group: public_group)
end end
   
it "cant downgrade permission level" do it "does not change permission level" do
expect(public_group.errors.count).to eq(2) service.execute
expect(public_group.errors.count).to eq(1)
end end
end end
   
Loading
@@ -29,8 +30,9 @@ describe Groups::UpdateService, services: true do
Loading
@@ -29,8 +30,9 @@ describe Groups::UpdateService, services: true do
create(:project, :internal, group: internal_group) create(:project, :internal, group: internal_group)
end end
   
it "cant downgrade permission level" do it "does not change permission level" do
expect(internal_group.errors.count).to eq(2) service.execute
expect(internal_group.errors.count).to eq(1)
end end
end end
end end
Loading
@@ -43,6 +45,7 @@ describe Groups::UpdateService, services: true do
Loading
@@ -43,6 +45,7 @@ describe Groups::UpdateService, services: true do
end end
   
it "does not change permission level" do it "does not change permission level" do
service.execute
expect(internal_group.errors.count).to eq(1) expect(internal_group.errors.count).to eq(1)
end end
end end
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment