diff options
author | Yorick Peterse <yorickpeterse@gmail.com> | 2015-11-18 12:30:24 +0100 |
---|---|---|
committer | Yorick Peterse <yorickpeterse@gmail.com> | 2015-11-18 13:05:45 +0100 |
commit | e116a356b8ac07bd3a935c40ceb274d67d808c83 (patch) | |
tree | ec0efa2e61d9102be9ff7bff6ff3ba41d2a36c0f /spec | |
parent | a4fc8112df3cf6cb344cfba65f5df46c7a99bef7 (diff) | |
download | gitlab-ce-e116a356b8ac07bd3a935c40ceb274d67d808c83.tar.gz |
Refactor User#authorized_groups/projects
These methods no longer include public groups/projects (that don't
belong to the actual user) as this is handled by the various finder
classes now. This also removes the need for passing extra arguments.
Note that memoizing was removed _explicitly_. For whatever reason doing
so messes up the users controller to a point where it claims a certain
user does _not_ have access to certain groups/projects when it does have
access. Existing code shouldn't be affected as these methods are only
called in ways that they'd run queries anyway (e.g. a combination of
"any?" and "each" which would run 2 queries regardless of memoizing).
Diffstat (limited to 'spec')
-rw-r--r-- | spec/models/user_spec.rb | 26 |
1 files changed, 4 insertions, 22 deletions
diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 71160f8dfef..4631b12faf1 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -762,44 +762,26 @@ describe User do describe '#authorized_groups' do let!(:user) { create(:user) } let!(:private_group) { create(:group) } - let!(:public_group) { create(:group, public: true) } before do private_group.add_user(user, Gitlab::Access::MASTER) end - describe 'excluding public groups' do - subject { user.authorized_groups } + subject { user.authorized_groups } - it { is_expected.to eq([private_group]) } - end - - describe 'including public groups' do - subject { user.authorized_groups(true) } - - it { is_expected.to eq([public_group, private_group]) } - end + it { is_expected.to eq([private_group]) } end describe '#authorized_projects' do let!(:user) { create(:user) } let!(:private_project) { create(:project, :private) } - let!(:public_project) { create(:project, :public) } before do private_project.team << [user, Gitlab::Access::MASTER] end - describe 'excluding public projects' do - subject { user.authorized_projects } + subject { user.authorized_projects } - it { is_expected.to eq([private_project]) } - end - - describe 'including public projects' do - subject { user.authorized_projects(true) } - - it { is_expected.to eq([public_project, private_project]) } - end + it { is_expected.to eq([private_project]) } end end |