2019-07-25 05:11:48 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2017-12-14 00:13:44 +00:00
|
|
|
FactoryBot.define do
|
2015-11-05 10:03:02 +00:00
|
|
|
factory :release do
|
2022-03-17 00:07:59 +00:00
|
|
|
sequence :tag do |n|
|
|
|
|
"v1.#{n}.0"
|
|
|
|
end
|
2019-10-02 00:06:26 +00:00
|
|
|
sha { 'b83d6e391c22777fca1ed3012fce84f633d7fed0' }
|
2018-12-12 09:56:43 +00:00
|
|
|
name { tag }
|
2019-10-02 00:06:26 +00:00
|
|
|
description { "Awesome release" }
|
2017-08-02 19:55:11 +00:00
|
|
|
project
|
2018-12-13 11:08:53 +00:00
|
|
|
author
|
2019-07-03 09:12:15 +00:00
|
|
|
released_at { Time.zone.parse('2018-10-20T18:00:00Z') }
|
2018-12-25 09:48:26 +00:00
|
|
|
|
|
|
|
trait :legacy do
|
2019-10-02 00:06:26 +00:00
|
|
|
sha { nil }
|
2022-06-16 12:09:26 +00:00
|
|
|
|
|
|
|
# Legacy releases which are created during tags creation have empty users.
|
|
|
|
after(:create) do |release, _|
|
|
|
|
release.update_column(:author_id, nil)
|
|
|
|
end
|
2018-12-25 09:48:26 +00:00
|
|
|
end
|
2019-11-19 09:06:16 +00:00
|
|
|
|
|
|
|
trait :with_evidence do
|
|
|
|
after(:create) do |release, _|
|
|
|
|
create(:evidence, release: release)
|
|
|
|
end
|
|
|
|
end
|
2020-01-10 18:07:43 +00:00
|
|
|
|
|
|
|
trait :with_milestones do
|
|
|
|
transient do
|
|
|
|
milestones_count { 2 }
|
|
|
|
end
|
|
|
|
after(:create) do |release, evaluator|
|
|
|
|
create_list(:milestone, evaluator.milestones_count, project: evaluator.project, releases: [release])
|
|
|
|
end
|
|
|
|
end
|
2015-11-05 10:03:02 +00:00
|
|
|
end
|
|
|
|
end
|