diff options
| author | Felipe Artur <felipefac@gmail.com> | 2016-03-08 21:01:33 -0300 |
|---|---|---|
| committer | Felipe Artur <felipefac@gmail.com> | 2016-03-10 10:38:36 -0300 |
| commit | c3e70280dffe7ee0859ebd73b902d424ca5f809a (patch) | |
| tree | 06b83a5ab13d19803332253cf50a941501b29317 /spec/models | |
| parent | bd59e59d01c5e845c7f7d451feaa1488670f20de (diff) | |
| download | gitlab-ce-c3e70280dffe7ee0859ebd73b902d424ca5f809a.tar.gz | |
Prevent projects to have higher visibility than groups
Prevent Groups to have smaller visibility than projects
Add default_group_visibility_level to configuration
Code improvements
Diffstat (limited to 'spec/models')
| -rw-r--r-- | spec/models/project_spec.rb | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb index 2fa38a5d3d3..9efaffbb577 100644 --- a/spec/models/project_spec.rb +++ b/spec/models/project_spec.rb @@ -583,6 +583,21 @@ describe Project, models: true do it { expect(forked_project.visibility_level_allowed?(Gitlab::VisibilityLevel::PUBLIC)).to be_falsey } end + context 'when checking projects from groups' do + let(:private_group) { create(:group, visibility_level: 0) } + let(:internal_group) { create(:group, visibility_level: 10) } + + let(:private_project) { create :project, group: private_group, visibility_level: Gitlab::VisibilityLevel::PRIVATE } + let(:internal_project) { create :project, group: internal_group, visibility_level: Gitlab::VisibilityLevel::INTERNAL } + + context 'when group is private project can not be internal' do + it { expect(private_project.visibility_level_allowed?(Gitlab::VisibilityLevel::INTERNAL)).to be_falsey } + end + + context 'when group is internal project can not be public' do + it { expect(internal_project.visibility_level_allowed?(Gitlab::VisibilityLevel::PUBLIC)).to be_falsey } + end + end end describe '#rename_repo' do |
