summaryrefslogtreecommitdiff
path: root/spec/factories
diff options
context:
space:
mode:
authorThong Kuah <tkuah@gitlab.com>2018-10-15 09:42:29 +1300
committerThong Kuah <tkuah@gitlab.com>2018-10-29 16:21:31 +1300
commit0e15eec86d83cbdfefe17966bf5c02e4d419a34d (patch)
treef2928be797556746f44e2689181d3cd5ba4dab79 /spec/factories
parentb868b02c626dc4f9986eb93e54cf593055121972 (diff)
downloadgitlab-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.rb15
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