diff options
Diffstat (limited to 'spec/factories/projects.rb')
-rw-r--r-- | spec/factories/projects.rb | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/spec/factories/projects.rb b/spec/factories/projects.rb index 443bca6030c..1e3ade779af 100644 --- a/spec/factories/projects.rb +++ b/spec/factories/projects.rb @@ -94,6 +94,8 @@ FactoryBot.define do visibility_level: evaluator.visibility_level } + project_namespace_hash[:id] = evaluator.project_namespace_id.presence + project.build_project_namespace(project_namespace_hash) project.build_project_feature(project_feature_hash) @@ -256,6 +258,35 @@ FactoryBot.define do end end + # A catalog resource repository with a file structure set up for ci components. + trait :catalog_resource_with_components do + small_repo + description { 'catalog resource' } + + files do + { + 'templates/secret-detection.yml' => "spec:\n inputs:\n website:\n---\nimage: alpine_1", + 'templates/dast/template.yml' => 'image: alpine_2', + 'templates/template.yml' => 'image: alpine_3', + 'templates/blank-yaml.yml' => '', + 'README.md' => 'readme' + } + end + + transient do + create_tag { nil } + end + + after(:create) do |project, evaluator| + if evaluator.create_tag + project.repository.add_tag( + project.creator, + evaluator.create_tag, + project.repository.commit.sha) + end + end + end + # A basic repository with a single file 'test.txt'. It also has the HEAD as the default branch. trait :small_repo do custom_repo @@ -477,7 +508,7 @@ FactoryBot.define do trait :pages_published do after(:create) do |project| project.mark_pages_onboarding_complete - project.mark_pages_as_deployed + create(:pages_deployment, project: project) # rubocop: disable RSpec/FactoryBot/StrategyInCallback end end |