diff options
author | Thong Kuah <tkuah@gitlab.com> | 2018-11-26 22:01:18 +1300 |
---|---|---|
committer | Thong Kuah <tkuah@gitlab.com> | 2018-12-05 10:16:44 +1300 |
commit | 8419b7dd2b85fbe9216a31ce84d5ecb234a8b90a (patch) | |
tree | 2d0ae5162d844dc9cf37005007e7e9a998e433a9 /spec/models | |
parent | 9c5977c821c1958709227a7a5976e1faedc53923 (diff) | |
download | gitlab-ce-8419b7dd2b85fbe9216a31ce84d5ecb234a8b90a.tar.gz |
Teach Cluster about #all_projects
For project level, it's the project directly associated. For group
level, it's the projects under that group.
Diffstat (limited to 'spec/models')
-rw-r--r-- | spec/models/clusters/cluster_spec.rb | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/spec/models/clusters/cluster_spec.rb b/spec/models/clusters/cluster_spec.rb index c24c796f0ad..244cd125967 100644 --- a/spec/models/clusters/cluster_spec.rb +++ b/spec/models/clusters/cluster_spec.rb @@ -312,6 +312,31 @@ describe Clusters::Cluster do end end + describe '#all_projects' do + let(:project) { create(:project) } + let(:cluster) { create(:cluster, projects: [project]) } + + subject { cluster.all_projects } + + context 'project cluster' do + it 'returns project' do + is_expected.to eq([project]) + end + end + + context 'group cluster' do + let(:cluster) { create(:cluster, :group) } + let(:group) { cluster.group } + let(:project) { create(:project, group: group) } + let(:subgroup) { create(:group, parent: group) } + let(:subproject) { create(:project, group: subgroup) } + + it 'returns all projects for group' do + is_expected.to contain_exactly(project, subproject) + end + end + end + describe '#first_project' do subject { cluster.first_project } |