diff options
author | Douwe Maan <douwe@gitlab.com> | 2017-05-31 16:45:00 +0300 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2017-05-31 16:45:00 +0300 |
commit | 4ad85b22e25ab9b2d089fce7138f07c72c5fd5d6 (patch) | |
tree | c72428663addeeeef22c43ff71c6220ddfc7745b /spec/models | |
parent | 2c288ee1fc32703eadcf54ec73baf9199720ae35 (diff) | |
parent | 1e5506d01619780da68fc51ada58188a9070255b (diff) |
Merge branch 'tc-improve-project-api-perf' into 'master'
Improve /project API performance
Closes #31855 and #31937
See merge request !11666
Diffstat (limited to 'spec/models')
-rw-r--r-- | spec/models/project_spec.rb | 14 | ||||
-rw-r--r-- | spec/models/user_spec.rb | 19 |
2 files changed, 14 insertions, 19 deletions
diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb index 2ef3d5654d5..da1b29a2bda 100644 --- a/spec/models/project_spec.rb +++ b/spec/models/project_spec.rb @@ -948,6 +948,20 @@ describe Project, models: true do end end + describe '.starred_by' do + it 'returns only projects starred by the given user' do + user1 = create(:user) + user2 = create(:user) + project1 = create(:empty_project) + project2 = create(:empty_project) + create(:empty_project) + user1.toggle_star(project1) + user2.toggle_star(project2) + + expect(Project.starred_by(user1)).to contain_exactly(project1) + end + end + describe '.visible_to_user' do let!(:project) { create(:empty_project, :private) } let!(:user) { create(:user) } diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 9edf34b05ad..fe9df3360ff 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -1496,25 +1496,6 @@ describe User, models: true do end end - describe '#viewable_starred_projects' do - let(:user) { create(:user) } - 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] - - [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).not_to include(private_project) - end - end - describe '#projects_with_reporter_access_limited_to' do let(:project1) { create(:empty_project) } let(:project2) { create(:empty_project) } |