diff --git a/spec/factories/project_ci_cd_settings.rb b/spec/factories/project_ci_cd_settings.rb deleted file mode 100644 index 2e85b54e245..00000000000 --- a/spec/factories/project_ci_cd_settings.rb +++ /dev/null @@ -1,10 +0,0 @@ -FactoryBot.define do - factory :project_ci_cd_setting do - project - - initialize_with do - # ci_cd_settings are automatically created when a project is created - project&.ci_cd_settings || new - end - end -end diff --git a/spec/factories/projects.rb b/spec/factories/projects.rb index e0e72e7f2ce..aed5eab8044 100644 --- a/spec/factories/projects.rb +++ b/spec/factories/projects.rb @@ -14,7 +14,6 @@ FactoryBot.define do # Associations namespace creator { group ? create(:user) : namespace&.owner } - ci_cd_settings strategy: :build, factory: :project_ci_cd_setting, project: nil transient do # Nest Project Feature attributes @@ -24,6 +23,10 @@ FactoryBot.define do issues_access_level ProjectFeature::ENABLED merge_requests_access_level ProjectFeature::ENABLED repository_access_level ProjectFeature::ENABLED + + # we can't assign the delegated `#ci_cd_settings` attributes directly, as the + # `#ci_cd_settings` relation needs to be created first + group_runners_enabled nil end after(:create) do |project, evaluator| @@ -48,6 +51,9 @@ FactoryBot.define do end project.group&.refresh_members_authorized_projects + + # assign the delegated `#ci_cd_settings` attributes after create + project.reload.group_runners_enabled = evaluator.group_runners_enabled unless evaluator.group_runners_enabled.nil? end trait :public do