Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-04-21 02:50:22 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2021-04-21 02:50:22 +0300
commit9dc93a4519d9d5d7be48ff274127136236a3adb3 (patch)
tree70467ae3692a0e35e5ea56bcb803eb512a10bedb /spec/factories
parent4b0f34b6d759d6299322b3a54453e930c6121ff0 (diff)
Add latest changes from gitlab-org/gitlab@13-11-stable-eev13.11.0-rc43
Diffstat (limited to 'spec/factories')
-rw-r--r--spec/factories/atlassian_identities.rb2
-rw-r--r--spec/factories/bulk_import/trackers.rb14
-rw-r--r--spec/factories/ci/builds.rb15
-rw-r--r--spec/factories/ci/pipeline_artifacts.rb16
-rw-r--r--spec/factories/ci/reports/codequality_degradations.rb43
-rw-r--r--spec/factories/ci/unit_test.rb (renamed from spec/factories/ci/test_case.rb)4
-rw-r--r--spec/factories/ci/unit_test_failure.rb (renamed from spec/factories/ci/test_case_failure.rb)4
-rw-r--r--spec/factories/clusters/applications/helm.rb79
-rw-r--r--spec/factories/clusters/integrations/prometheus.rb12
-rw-r--r--spec/factories/draft_note.rb17
-rw-r--r--spec/factories/events.rb11
-rw-r--r--spec/factories/git_wiki_commit_details.rb2
-rw-r--r--spec/factories/gitaly/commit.rb4
-rw-r--r--spec/factories/gitlab/database/background_migration/batched_migrations.rb1
-rw-r--r--spec/factories/group_group_links.rb4
-rw-r--r--spec/factories/import_export_uploads.rb2
-rw-r--r--spec/factories/packages.rb8
-rw-r--r--spec/factories/packages/package_file.rb26
-rw-r--r--spec/factories/sequences.rb1
-rw-r--r--spec/factories/services.rb8
-rw-r--r--spec/factories/subscriptions.rb6
-rw-r--r--spec/factories/timelogs.rb19
-rw-r--r--spec/factories/users/in_product_marketing_email.rb10
23 files changed, 234 insertions, 74 deletions
diff --git a/spec/factories/atlassian_identities.rb b/spec/factories/atlassian_identities.rb
index 698cf4ae7ad..80420e335a9 100644
--- a/spec/factories/atlassian_identities.rb
+++ b/spec/factories/atlassian_identities.rb
@@ -3,7 +3,7 @@
FactoryBot.define do
factory :atlassian_identity, class: 'Atlassian::Identity' do
extern_uid { generate(:username) }
- user { create(:user) }
+ user { association(:user) }
expires_at { 2.weeks.from_now }
token { SecureRandom.alphanumeric(1254) }
refresh_token { SecureRandom.alphanumeric(45) }
diff --git a/spec/factories/bulk_import/trackers.rb b/spec/factories/bulk_import/trackers.rb
index 03af5b41e0f..94340b0f389 100644
--- a/spec/factories/bulk_import/trackers.rb
+++ b/spec/factories/bulk_import/trackers.rb
@@ -5,7 +5,19 @@ FactoryBot.define do
association :entity, factory: :bulk_import_entity
stage { 0 }
- relation { :relation }
has_next_page { false }
+ sequence(:pipeline_name) { |n| "pipeline_name_#{n}" }
+
+ trait :started do
+ status { 1 }
+
+ sequence(:jid) { |n| "bulk_import_entity_#{n}" }
+ end
+
+ trait :finished do
+ status { 2 }
+
+ sequence(:jid) { |n| "bulk_import_entity_#{n}" }
+ end
end
end
diff --git a/spec/factories/ci/builds.rb b/spec/factories/ci/builds.rb
index 886be520668..b06d581d2c0 100644
--- a/spec/factories/ci/builds.rb
+++ b/spec/factories/ci/builds.rb
@@ -30,6 +30,21 @@ FactoryBot.define do
yaml_variables { nil }
end
+ trait :unique_name do
+ name { generate(:job_name) }
+ end
+
+ trait :dependent do
+ transient do
+ sequence(:needed_name) { |n| "dependency #{n}" }
+ needed { association(:ci_build, name: needed_name, pipeline: pipeline) }
+ end
+
+ after(:create) do |build, evaluator|
+ build.needs << create(:ci_build_need, build: build, name: evaluator.needed.name)
+ end
+ end
+
trait :started do
started_at { 'Di 29. Okt 09:51:28 CET 2013' }
end
diff --git a/spec/factories/ci/pipeline_artifacts.rb b/spec/factories/ci/pipeline_artifacts.rb
index 05ff7afed7c..3250c7abb4b 100644
--- a/spec/factories/ci/pipeline_artifacts.rb
+++ b/spec/factories/ci/pipeline_artifacts.rb
@@ -13,6 +13,22 @@ FactoryBot.define do
Rails.root.join('spec/fixtures/pipeline_artifacts/code_coverage.json'), 'application/json')
end
+ trait :checksummed do
+ verification_checksum { 'abc' }
+ end
+
+ trait :checksum_failure do
+ verification_failure { 'Could not calculate the checksum' }
+ end
+
+ trait :expired do
+ expire_at { Date.yesterday }
+ end
+
+ trait :remote_store do
+ file_store { ::ObjectStorage::Store::REMOTE}
+ end
+
trait :with_coverage_report do
file_type { :code_coverage }
diff --git a/spec/factories/ci/reports/codequality_degradations.rb b/spec/factories/ci/reports/codequality_degradations.rb
index d82157b457a..8b53f2bf46e 100644
--- a/spec/factories/ci/reports/codequality_degradations.rb
+++ b/spec/factories/ci/reports/codequality_degradations.rb
@@ -95,4 +95,47 @@ FactoryBot.define do
}.with_indifferent_access
end
end
+
+ # TODO: Use this in all other specs and remove the previous numbered factories
+ # https://gitlab.com/gitlab-org/gitlab/-/issues/325886
+ factory :codequality_degradation, class: Hash do
+ skip_create
+
+ # Feel free to add in more configurable properties here
+ # as the need arises
+ fingerprint { SecureRandom.hex }
+ severity { "major" }
+
+ Gitlab::Ci::Reports::CodequalityReports::SEVERITY_PRIORITIES.keys.each do |s|
+ trait s.to_sym do
+ severity { s }
+ end
+ end
+
+ initialize_with do
+ {
+ "categories": [
+ "Complexity"
+ ],
+ "check_name": "argument_count",
+ "content": {
+ "body": ""
+ },
+ "description": "Avoid parameter lists longer than 5 parameters. [12/5]",
+ "fingerprint": fingerprint,
+ "location": {
+ "path": "file_a.rb",
+ "lines": {
+ "begin": 10,
+ "end": 10
+ }
+ },
+ "other_locations": [],
+ "remediation_points": 900000,
+ "severity": severity,
+ "type": "issue",
+ "engine_name": "structure"
+ }.with_indifferent_access
+ end
+ end
end
diff --git a/spec/factories/ci/test_case.rb b/spec/factories/ci/unit_test.rb
index 601a3fae970..480724f260a 100644
--- a/spec/factories/ci/test_case.rb
+++ b/spec/factories/ci/unit_test.rb
@@ -1,8 +1,10 @@
# frozen_string_literal: true
FactoryBot.define do
- factory :ci_test_case, class: 'Ci::TestCase' do
+ factory :ci_unit_test, class: 'Ci::UnitTest' do
project
+ suite_name { 'rspec' }
+ name { 'Math#add returns sum' }
key_hash { Digest::SHA256.hexdigest(SecureRandom.hex) }
end
end
diff --git a/spec/factories/ci/test_case_failure.rb b/spec/factories/ci/unit_test_failure.rb
index 11fb002804b..07cd3419754 100644
--- a/spec/factories/ci/test_case_failure.rb
+++ b/spec/factories/ci/unit_test_failure.rb
@@ -1,9 +1,9 @@
# frozen_string_literal: true
FactoryBot.define do
- factory :ci_test_case_failure, class: 'Ci::TestCaseFailure' do
+ factory :ci_unit_test_failure, class: 'Ci::UnitTestFailure' do
build factory: :ci_build
- test_case factory: :ci_test_case
+ unit_test factory: :ci_unit_test
failed_at { Time.current }
end
end
diff --git a/spec/factories/clusters/applications/helm.rb b/spec/factories/clusters/applications/helm.rb
index 01df5cc677d..1ff1292c36e 100644
--- a/spec/factories/clusters/applications/helm.rb
+++ b/spec/factories/clusters/applications/helm.rb
@@ -4,18 +4,26 @@ FactoryBot.define do
factory :clusters_applications_helm, class: 'Clusters::Applications::Helm' do
cluster factory: %i(cluster provided_by_gcp)
- before(:create) do
- allow(Gitlab::Kubernetes::Helm::V2::Certificate).to receive(:generate_root)
- .and_return(
- double(
- key_string: File.read(Rails.root.join('spec/fixtures/clusters/sample_key.key')),
- cert_string: File.read(Rails.root.join('spec/fixtures/clusters/sample_cert.pem'))
+ transient do
+ helm_installed { true }
+ end
+
+ before(:create) do |_record, evaluator|
+ if evaluator.helm_installed
+ allow(Gitlab::Kubernetes::Helm::V2::Certificate).to receive(:generate_root)
+ .and_return(
+ double(
+ key_string: File.read(Rails.root.join('spec/fixtures/clusters/sample_key.key')),
+ cert_string: File.read(Rails.root.join('spec/fixtures/clusters/sample_cert.pem'))
+ )
)
- )
+ end
end
- after(:create) do
- allow(Gitlab::Kubernetes::Helm::V2::Certificate).to receive(:generate_root).and_call_original
+ after(:create) do |_record, evaluator|
+ if evaluator.helm_installed
+ allow(Gitlab::Kubernetes::Helm::V2::Certificate).to receive(:generate_root).and_call_original
+ end
end
trait :not_installable do
@@ -69,19 +77,28 @@ FactoryBot.define do
status { 10 }
end
+ trait :externally_installed do
+ status { 11 }
+ end
+
trait :timed_out do
installing
updated_at { ClusterWaitForAppInstallationWorker::TIMEOUT.ago }
end
+ # Common trait used by the apps below
+ trait :no_helm_installed do
+ cluster factory: %i(cluster provided_by_gcp)
+
+ transient do
+ helm_installed { false }
+ end
+ end
+
factory :clusters_applications_ingress, class: 'Clusters::Applications::Ingress' do
modsecurity_enabled { false }
cluster factory: %i(cluster with_installed_helm provided_by_gcp)
- trait :no_helm_installed do
- cluster factory: %i(cluster provided_by_gcp)
- end
-
trait :modsecurity_blocking do
modsecurity_enabled { true }
modsecurity_mode { :blocking }
@@ -104,62 +121,34 @@ FactoryBot.define do
factory :clusters_applications_cert_manager, class: 'Clusters::Applications::CertManager' do
email { 'admin@example.com' }
cluster factory: %i(cluster with_installed_helm provided_by_gcp)
-
- trait :no_helm_installed do
- cluster factory: %i(cluster provided_by_gcp)
- end
end
factory :clusters_applications_elastic_stack, class: 'Clusters::Applications::ElasticStack' do
cluster factory: %i(cluster with_installed_helm provided_by_gcp)
-
- trait :no_helm_installed do
- cluster factory: %i(cluster provided_by_gcp)
- end
end
factory :clusters_applications_crossplane, class: 'Clusters::Applications::Crossplane' do
stack { 'gcp' }
cluster factory: %i(cluster with_installed_helm provided_by_gcp)
-
- trait :no_helm_installed do
- cluster factory: %i(cluster provided_by_gcp)
- end
end
factory :clusters_applications_prometheus, class: 'Clusters::Applications::Prometheus' do
cluster factory: %i(cluster with_installed_helm provided_by_gcp)
-
- trait :no_helm_installed do
- cluster factory: %i(cluster provided_by_gcp)
- end
end
factory :clusters_applications_runner, class: 'Clusters::Applications::Runner' do
runner factory: %i(ci_runner)
cluster factory: %i(cluster with_installed_helm provided_by_gcp)
-
- trait :no_helm_installed do
- cluster factory: %i(cluster provided_by_gcp)
- end
end
factory :clusters_applications_knative, class: 'Clusters::Applications::Knative' do
hostname { 'example.com' }
cluster factory: %i(cluster with_installed_helm provided_by_gcp)
-
- trait :no_helm_installed do
- cluster factory: %i(cluster provided_by_gcp)
- end
end
factory :clusters_applications_jupyter, class: 'Clusters::Applications::Jupyter' do
oauth_application factory: :oauth_application
cluster factory: %i(cluster with_installed_helm provided_by_gcp project)
-
- trait :no_helm_installed do
- cluster factory: %i(cluster provided_by_gcp)
- end
end
factory :clusters_applications_fluentd, class: 'Clusters::Applications::Fluentd' do
@@ -167,18 +156,10 @@ FactoryBot.define do
waf_log_enabled { true }
cilium_log_enabled { true }
cluster factory: %i(cluster with_installed_helm provided_by_gcp)
-
- trait :no_helm_installed do
- cluster factory: %i(cluster provided_by_gcp)
- end
end
factory :clusters_applications_cilium, class: 'Clusters::Applications::Cilium' do
cluster factory: %i(cluster with_installed_helm provided_by_gcp)
-
- trait :no_helm_installed do
- cluster factory: %i(cluster provided_by_gcp)
- end
end
end
end
diff --git a/spec/factories/clusters/integrations/prometheus.rb b/spec/factories/clusters/integrations/prometheus.rb
new file mode 100644
index 00000000000..1f0bb1ed512
--- /dev/null
+++ b/spec/factories/clusters/integrations/prometheus.rb
@@ -0,0 +1,12 @@
+# frozen_string_literal: true
+
+FactoryBot.define do
+ factory :clusters_integrations_prometheus, class: 'Clusters::Integrations::Prometheus' do
+ cluster factory: %i(cluster provided_by_gcp)
+ enabled { true }
+
+ trait :disabled do
+ enabled { false }
+ end
+ end
+end
diff --git a/spec/factories/draft_note.rb b/spec/factories/draft_note.rb
index 67a3377a39f..cde8831f169 100644
--- a/spec/factories/draft_note.rb
+++ b/spec/factories/draft_note.rb
@@ -9,17 +9,30 @@ FactoryBot.define do
transient do
line_number { 14 }
diff_refs { merge_request.try(:diff_refs) }
+ path { "files/ruby/popen.rb" }
end
position do
Gitlab::Diff::Position.new(
- old_path: "files/ruby/popen.rb",
- new_path: "files/ruby/popen.rb",
+ old_path: path,
+ new_path: path,
old_line: nil,
new_line: line_number,
diff_refs: diff_refs
)
end
+
+ factory :draft_note_on_image_diff do
+ transient do
+ path { "files/images/any_image.png" }
+ end
+
+ position do
+ association(:image_diff_position,
+ file: path,
+ diff_refs: diff_refs)
+ end
+ end
end
factory :draft_note_on_discussion, traits: [:on_discussion]
diff --git a/spec/factories/events.rb b/spec/factories/events.rb
index 6c9f1ba0137..c9e4ada3ffa 100644
--- a/spec/factories/events.rb
+++ b/spec/factories/events.rb
@@ -27,17 +27,20 @@ FactoryBot.define do
factory :wiki_page_event do
action { :created }
+ # rubocop: disable FactoryBot/InlineAssociation
+ # A persistent project is needed to have a wiki page being created properly.
project { @overrides[:wiki_page]&.container || create(:project, :wiki_repo) }
- target { create(:wiki_page_meta, :for_wiki_page, wiki_page: wiki_page) }
+ # rubocop: enable FactoryBot/InlineAssociation
+ target { association(:wiki_page_meta, :for_wiki_page, wiki_page: wiki_page) }
transient do
- wiki_page { create(:wiki_page, container: project) }
+ wiki_page { association(:wiki_page, container: project) }
end
end
trait :has_design do
transient do
- design { create(:design, issue: create(:issue, project: project)) }
+ design { association(:design, issue: association(:issue, project: project)) }
end
end
@@ -45,7 +48,7 @@ FactoryBot.define do
has_design
transient do
- note { create(:note, author: author, project: project, noteable: design) }
+ note { association(:note, author: author, project: project, noteable: design) }
end
action { :commented }
diff --git a/spec/factories/git_wiki_commit_details.rb b/spec/factories/git_wiki_commit_details.rb
index b35f102fd4d..fb3f2954b12 100644
--- a/spec/factories/git_wiki_commit_details.rb
+++ b/spec/factories/git_wiki_commit_details.rb
@@ -5,7 +5,7 @@ FactoryBot.define do
skip_create
transient do
- author { create(:user) }
+ author { association(:user) }
end
sequence(:message) { |n| "Commit message #{n}" }
diff --git a/spec/factories/gitaly/commit.rb b/spec/factories/gitaly/commit.rb
index 2ed201e9aac..4e8220e449a 100644
--- a/spec/factories/gitaly/commit.rb
+++ b/spec/factories/gitaly/commit.rb
@@ -14,7 +14,7 @@ FactoryBot.define do
subject { "My commit" }
body { subject + "\nMy body" }
- author { build(:gitaly_commit_author) }
- committer { build(:gitaly_commit_author) }
+ author { association(:gitaly_commit_author) }
+ committer { association(:gitaly_commit_author) }
end
end
diff --git a/spec/factories/gitlab/database/background_migration/batched_migrations.rb b/spec/factories/gitlab/database/background_migration/batched_migrations.rb
index b45f6ff037b..49cbdc5a8fb 100644
--- a/spec/factories/gitlab/database/background_migration/batched_migrations.rb
+++ b/spec/factories/gitlab/database/background_migration/batched_migrations.rb
@@ -9,5 +9,6 @@ FactoryBot.define do
job_class_name { 'CopyColumnUsingBackgroundMigrationJob' }
table_name { :events }
column_name { :id }
+ total_tuple_count { 10_000 }
end
end
diff --git a/spec/factories/group_group_links.rb b/spec/factories/group_group_links.rb
index 6f98886faff..2a582d8525b 100644
--- a/spec/factories/group_group_links.rb
+++ b/spec/factories/group_group_links.rb
@@ -2,8 +2,8 @@
FactoryBot.define do
factory :group_group_link do
- shared_group { create(:group) }
- shared_with_group { create(:group) }
+ shared_group { association(:group) }
+ shared_with_group { association(:group) }
group_access { Gitlab::Access::DEVELOPER }
trait(:guest) { group_access { Gitlab::Access::GUEST } }
diff --git a/spec/factories/import_export_uploads.rb b/spec/factories/import_export_uploads.rb
index 8521411e0e8..e1dd0c10ff2 100644
--- a/spec/factories/import_export_uploads.rb
+++ b/spec/factories/import_export_uploads.rb
@@ -2,6 +2,6 @@
FactoryBot.define do
factory :import_export_upload do
- project { create(:project) }
+ project { association(:project) }
end
end
diff --git a/spec/factories/packages.rb b/spec/factories/packages.rb
index 882bac1daa9..9edee735af9 100644
--- a/spec/factories/packages.rb
+++ b/spec/factories/packages.rb
@@ -16,6 +16,10 @@ FactoryBot.define do
status { :processing }
end
+ trait :error do
+ status { :error }
+ end
+
factory :maven_package do
maven_metadatum
@@ -36,8 +40,8 @@ FactoryBot.define do
package_type { :rubygems }
after :create do |package|
- create :package_file, :gem, package: package
- create :package_file, :gemspec, package: package
+ create :package_file, package.processing? ? :unprocessed_gem : :gem, package: package
+ create :package_file, :gemspec, package: package unless package.processing?
end
trait(:with_metadatum) do
diff --git a/spec/factories/packages/package_file.rb b/spec/factories/packages/package_file.rb
index 6d8b119040e..74400975670 100644
--- a/spec/factories/packages/package_file.rb
+++ b/spec/factories/packages/package_file.rb
@@ -125,6 +125,9 @@ FactoryBot.define do
trait(:source) do
file_name { 'sample_1.2.3~alpha2.tar.xz' }
+ file_md5 { 'd79b34f58f61ff4ad696d9bd0b8daa68' }
+ file_sha1 { '5f8bba5574eb01ac3b1f5e2988e8c29307788236' }
+ file_sha256 { 'b5a599e88e7cbdda3bde808160a21ba1dd1ec76b2ec8d4912aae769648d68362' }
transient do
file_metadatum_trait { :source }
@@ -133,6 +136,9 @@ FactoryBot.define do
trait(:dsc) do
file_name { 'sample_1.2.3~alpha2.dsc' }
+ file_md5 { '3b0817804f669e16cdefac583ad88f0e' }
+ file_sha1 { '32ecbd674f0bfd310df68484d87752490685a8d6' }
+ file_sha256 { '844f79825b7e8aaa191e514b58a81f9ac1e58e2180134b0c9512fa66d896d7ba' }
transient do
file_metadatum_trait { :dsc }
@@ -141,6 +147,9 @@ FactoryBot.define do
trait(:deb) do
file_name { 'libsample0_1.2.3~alpha2_amd64.deb' }
+ file_md5 { 'fb0842b21adc44207996296fe14439dd' }
+ file_sha1 { '5248b95600e85bfe7f63c0dfce330a75f5777366' }
+ file_sha256 { '1c383a525bfcba619c7305ccd106d61db501a6bbaf0003bf8d0c429fbdb7fcc1' }
transient do
file_metadatum_trait { :deb }
@@ -149,6 +158,9 @@ FactoryBot.define do
trait(:deb2) do
file_name { 'sample-dev_1.2.3~binary_amd64.deb' }
+ file_md5 { 'd2afbd28e4d74430d22f9504e18bfdf5' }
+ file_sha1 { 'f81e4f66c8c6bb899653a3340c157965ee69634f' }
+ file_sha256 { '9fbeee2191ce4dab5288fad5ecac1bd369f58fef9a992a880eadf0caf25f086d' }
transient do
file_metadatum_trait { :deb }
@@ -157,6 +169,9 @@ FactoryBot.define do
trait(:udeb) do
file_name { 'sample-udeb_1.2.3~alpha2_amd64.udeb' }
+ file_md5 { '72b1dd7d98229e2fb0355feda1d3a165' }
+ file_sha1 { 'e42e8f2fe04ed1bb73b44a187674480d0e49dcba' }
+ file_sha256 { '2b0c152b3ab4cc07663350424de972c2b7621d69fe6df2e0b94308a191e4632f' }
transient do
file_metadatum_trait { :udeb }
@@ -165,6 +180,9 @@ FactoryBot.define do
trait(:buildinfo) do
file_name { 'sample_1.2.3~alpha2_amd64.buildinfo' }
+ file_md5 { '4e085dd67c120ca967ec314f65770a42' }
+ file_sha1 { '0d47e899f3cc67a2253a4629456ff927e0db5c60' }
+ file_sha256 { 'f9900d3c94e94b329232668dcbef3dba2d96c07147b15b6dc0533452e4dd8a43' }
transient do
file_metadatum_trait { :buildinfo }
@@ -229,6 +247,14 @@ FactoryBot.define do
size { 4.kilobytes }
end
+ trait(:unprocessed_gem) do
+ package
+ file_fixture { 'spec/fixtures/packages/rubygems/package.gem' }
+ file_name { 'package.gem' }
+ file_sha1 { '5fe852b2a6abd96c22c11fa1ff2fb19d9ce58b57' }
+ size { 4.kilobytes }
+ end
+
trait(:gemspec) do
package
file_fixture { 'spec/fixtures/packages/rubygems/package.gemspec' }
diff --git a/spec/factories/sequences.rb b/spec/factories/sequences.rb
index f9952cd9966..b276e6f8cfc 100644
--- a/spec/factories/sequences.rb
+++ b/spec/factories/sequences.rb
@@ -19,4 +19,5 @@ FactoryBot.define do
sequence(:wip_title) { |n| "WIP: #{n}" }
sequence(:jira_title) { |n| "[PROJ-#{n}]: fix bug" }
sequence(:jira_branch) { |n| "feature/PROJ-#{n}" }
+ sequence(:job_name) { |n| "job #{n}" }
end
diff --git a/spec/factories/services.rb b/spec/factories/services.rb
index 18d3b2d99b7..25ef75880bb 100644
--- a/spec/factories/services.rb
+++ b/spec/factories/services.rb
@@ -56,20 +56,24 @@ FactoryBot.define do
api_url { nil }
username { 'jira_username' }
password { 'jira_password' }
+ jira_issue_transition_automatic { false }
jira_issue_transition_id { '56-1' }
issues_enabled { false }
project_key { nil }
vulnerabilities_enabled { false }
vulnerabilities_issuetype { nil }
+ deployment_type { 'cloud' }
end
before(:create) do |service, evaluator|
if evaluator.create_data
create(:jira_tracker_data, service: service,
- url: evaluator.url, api_url: evaluator.api_url, jira_issue_transition_id: evaluator.jira_issue_transition_id,
+ url: evaluator.url, api_url: evaluator.api_url,
+ jira_issue_transition_automatic: evaluator.jira_issue_transition_automatic,
+ jira_issue_transition_id: evaluator.jira_issue_transition_id,
username: evaluator.username, password: evaluator.password, issues_enabled: evaluator.issues_enabled,
project_key: evaluator.project_key, vulnerabilities_enabled: evaluator.vulnerabilities_enabled,
- vulnerabilities_issuetype: evaluator.vulnerabilities_issuetype
+ vulnerabilities_issuetype: evaluator.vulnerabilities_issuetype, deployment_type: evaluator.deployment_type
)
end
end
diff --git a/spec/factories/subscriptions.rb b/spec/factories/subscriptions.rb
index 2b652cd57bf..8ba96d9fa29 100644
--- a/spec/factories/subscriptions.rb
+++ b/spec/factories/subscriptions.rb
@@ -5,5 +5,11 @@ FactoryBot.define do
project
user { project.creator }
subscribable factory: :issue
+
+ trait :group_label do
+ project { nil }
+ user { association(:user) }
+ subscribable factory: :group_label
+ end
end
end
diff --git a/spec/factories/timelogs.rb b/spec/factories/timelogs.rb
index 5d34acc635d..204cb808c8e 100644
--- a/spec/factories/timelogs.rb
+++ b/spec/factories/timelogs.rb
@@ -1,11 +1,22 @@
# frozen_string_literal: true
-# Read about factories at https://github.com/thoughtbot/factory_bot
-
FactoryBot.define do
factory :timelog do
time_spent { 3600 }
- issue
- user { issue.project.creator }
+ for_issue
+
+ factory :issue_timelog, traits: [:for_issue]
+ factory :merge_request_timelog, traits: [:for_merge_request]
+
+ trait :for_issue do
+ issue
+ user { issue.author }
+ end
+
+ trait :for_merge_request do
+ merge_request
+ issue { nil }
+ user { merge_request.author }
+ end
end
end
diff --git a/spec/factories/users/in_product_marketing_email.rb b/spec/factories/users/in_product_marketing_email.rb
new file mode 100644
index 00000000000..c86c469ff31
--- /dev/null
+++ b/spec/factories/users/in_product_marketing_email.rb
@@ -0,0 +1,10 @@
+# frozen_string_literal: true
+
+FactoryBot.define do
+ factory :in_product_marketing_email, class: 'Users::InProductMarketingEmail' do
+ user
+
+ track { 'create' }
+ series { 0 }
+ end
+end