diff options
author | Robert Speicher <rspeicher@gmail.com> | 2016-07-19 13:19:04 -0600 |
---|---|---|
committer | Robert Speicher <rspeicher@gmail.com> | 2016-07-19 13:19:04 -0600 |
commit | 17bac49154a399d34e7b884551d2fb78dff3cea3 (patch) | |
tree | da79715b73c92f41f4696122563db2782bff7766 /spec/models/user_spec.rb | |
parent | 1d7ac1641e50938c854abf249c53e51ce1ef2ed5 (diff) | |
download | gitlab-ce-17bac49154a399d34e7b884551d2fb78dff3cea3.tar.gz |
Ensure Owners are included in the scope for authorized_projects
Prior, when providing a `min_access_level` parameter to this method, we
called `Gitlab::Access.values` instead of `all_values`, mistakenly
omitting the `OWNER` level.
Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/19878
Diffstat (limited to 'spec/models/user_spec.rb')
-rw-r--r-- | spec/models/user_spec.rb | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index fc74488ac0e..3bf82cf2668 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -887,16 +887,25 @@ describe User, models: true do end describe '#authorized_projects' do - let!(:user) { create(:user) } - let!(:private_project) { create(:project, :private) } + context 'with a minimum access level' do + it 'includes projects for which the user is an owner' do + user = create(:user) + project = create(:empty_project, :private, namespace: user.namespace) - before do - private_project.team << [user, Gitlab::Access::MASTER] - end + expect(user.authorized_projects(Gitlab::Access::REPORTER)) + .to contain_exactly(project) + end - subject { user.authorized_projects } + it 'includes projects for which the user is a master' do + user = create(:user) + project = create(:empty_project, :private) + + project.team << [user, Gitlab::Access::MASTER] - it { is_expected.to eq([private_project]) } + expect(user.authorized_projects(Gitlab::Access::REPORTER)) + .to contain_exactly(project) + end + end end describe '#ci_authorized_runners' do |