diff options
author | Thong Kuah <tkuah@gitlab.com> | 2018-10-15 09:42:29 +1300 |
---|---|---|
committer | Thong Kuah <tkuah@gitlab.com> | 2018-10-29 16:21:31 +1300 |
commit | 0e15eec86d83cbdfefe17966bf5c02e4d419a34d (patch) | |
tree | f2928be797556746f44e2689181d3cd5ba4dab79 /spec/factories | |
parent | b868b02c626dc4f9986eb93e54cf593055121972 (diff) | |
download | gitlab-ce-0e15eec86d83cbdfefe17966bf5c02e4d419a34d.tar.gz |
Associate clusters model to groups34758-create-group-clusters
Even though we currently only should have one group for a cluster, we
allow the flexibility to associate to other groups in the future.
This also matches the runner <=> groups association.
- Adds Cluster#first_group, aliased to Cluster#group. For the
conceivable future, a cluster will have at most one group.
- Prevent mixing of group and project clusters. If project type
clusters, it should only have projects assigned. Similarly with groups.
- Default cluster_type to :project_type. As it's very small table we can
set default and null: false in one release.
Diffstat (limited to 'spec/factories')
-rw-r--r-- | spec/factories/clusters/clusters.rb | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/spec/factories/clusters/clusters.rb b/spec/factories/clusters/clusters.rb index bbeba8ce8b9..c9f5d0a813e 100644 --- a/spec/factories/clusters/clusters.rb +++ b/spec/factories/clusters/clusters.rb @@ -2,13 +2,28 @@ FactoryBot.define do factory :cluster, class: Clusters::Cluster do user name 'test-cluster' + cluster_type :project_type + + trait :instance do + cluster_type { Clusters::Cluster.cluster_types[:instance_type] } + end trait :project do + cluster_type { Clusters::Cluster.cluster_types[:project_type] } + before(:create) do |cluster, evaluator| cluster.projects << create(:project, :repository) end end + trait :group do + cluster_type { Clusters::Cluster.cluster_types[:group_type] } + + before(:create) do |cluster, evalutor| + cluster.groups << create(:group) + end + end + trait :provided_by_user do provider_type :user platform_type :kubernetes |