diff options
author | Valery Sizov <valery@gitlab.com> | 2015-12-24 14:57:07 +0200 |
---|---|---|
committer | Valery Sizov <valery@gitlab.com> | 2015-12-24 14:57:07 +0200 |
commit | 44cf1cbaafa3be1c284f202dcc67c734bbba1a8e (patch) | |
tree | c9b5824fd41cc3efa8d4b62b1e7540e729aac6d6 /spec/models/project_spec.rb | |
parent | 6d0705474791c2071153794e9be8df69375e1028 (diff) | |
parent | d1043c4389cd92d33ff21c3fd994e78cf4d66dba (diff) | |
download | gitlab-ce-emoji-picker-search.tar.gz |
Merge remote-tracking branch 'origin/master' into emoji-picker-searchemoji-picker-search
Diffstat (limited to 'spec/models/project_spec.rb')
-rw-r--r-- | spec/models/project_spec.rb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb index c4d3813e9c9..400bdf2d962 100644 --- a/spec/models/project_spec.rb +++ b/spec/models/project_spec.rb @@ -552,4 +552,28 @@ describe Project, models: true do end end end + + describe '#visibility_level_allowed?' do + let(:project) { create :project, visibility_level: Gitlab::VisibilityLevel::INTERNAL } + + context 'when checking on non-forked project' do + it { expect(project.visibility_level_allowed?(Gitlab::VisibilityLevel::PRIVATE)).to be_truthy } + it { expect(project.visibility_level_allowed?(Gitlab::VisibilityLevel::INTERNAL)).to be_truthy } + it { expect(project.visibility_level_allowed?(Gitlab::VisibilityLevel::PUBLIC)).to be_truthy } + end + + context 'when checking on forked project' do + let(:forked_project) { create :forked_project_with_submodules } + + before do + forked_project.build_forked_project_link(forked_to_project_id: forked_project.id, forked_from_project_id: project.id) + forked_project.save + end + + it { expect(forked_project.visibility_level_allowed?(Gitlab::VisibilityLevel::PRIVATE)).to be_truthy } + it { expect(forked_project.visibility_level_allowed?(Gitlab::VisibilityLevel::INTERNAL)).to be_truthy } + it { expect(forked_project.visibility_level_allowed?(Gitlab::VisibilityLevel::PUBLIC)).to be_falsey } + end + + end end |