From acd8930c46c06312f87c5ea0bb549b5435feece8 Mon Sep 17 00:00:00 2001 From: Sean McGivern Date: Wed, 11 May 2016 09:03:23 +0100 Subject: [PATCH] Tidy up user project specs --- app/models/user.rb | 2 +- spec/models/user_spec.rb | 21 ++++++++------------- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/app/models/user.rb b/app/models/user.rb index a0115957f00..489bff3fa4a 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -383,7 +383,7 @@ class User < ActiveRecord::Base def viewable_starred_projects starred_projects.where("projects.visibility_level IN (?) OR projects.id IN (#{projects_union.to_sql})", - [Gitlab::VisibilityLevel::PUBLIC, Gitlab::VisibilityLevel::INTERNAL]) + [Project::PUBLIC, Project::INTERNAL]) end def owned_projects diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 06d1ca3b7da..10e7e693571 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -233,8 +233,6 @@ describe User, models: true do @project = create :project, namespace: @user.namespace @project_2 = create :project, group: create(:group) # Grant MASTER access to the user @project_3 = create :project, group: create(:group) # Grant DEVELOPER access to the user - @project_4 = create :project, group: create(:group) - @project_5 = create :project, group: create(:group) @project_2.team << [@user, :master] @project_3.team << [@user, :developer] @@ -787,23 +785,20 @@ describe User, models: true do describe '#viewable_starred_projects' do let(:user) { create(:user) } - let(:public_project) { create(:project, :public) } - let(:private_project) { create(:project, :private) } - let(:private_viewable_project) { create(:project, :private) } - let(:viewable?) { -> (project) { user.can?(:read_project, project) } } - let(:projects) { [public_project, private_project, private_viewable_project] } + let(:public_project) { create(:empty_project, :public) } + let(:private_project) { create(:empty_project, :private) } + let(:private_viewable_project) { create(:empty_project, :private) } before do private_viewable_project.team << [user, Gitlab::Access::MASTER] - projects.each { |project| user.toggle_star(project) } + + [public_project, private_project, private_viewable_project].each do |project| + user.toggle_star(project) + end end it 'returns only starred projects the user can view' do - expect(user.viewable_starred_projects).to all(satisfy(&viewable?)) - end - - it 'rejects only starred projects the user can not view' do - expect(projects - user.viewable_starred_projects).not_to include(satisfy(&viewable?)) + expect(user.viewable_starred_projects).not_to include(private_project) end end end