mirror of
https://github.com/gitlabhq/gitlabhq.git
synced 2025-07-21 23:37:47 +00:00
93 lines
2.0 KiB
Ruby
93 lines
2.0 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
FactoryBot.define do
|
|
factory :commit_status, class: 'CommitStatus' do
|
|
name { 'default' }
|
|
stage_idx { 0 }
|
|
status { 'success' }
|
|
description { 'commit status' }
|
|
pipeline factory: :ci_pipeline
|
|
started_at { 'Tue, 26 Jan 2016 08:21:42 +0100' }
|
|
finished_at { 'Tue, 26 Jan 2016 08:23:42 +0100' }
|
|
partition_id { pipeline&.partition_id }
|
|
|
|
transient do
|
|
stage { 'test' }
|
|
end
|
|
|
|
before(:create) do |commit_status, evaluator|
|
|
next if commit_status.ci_stage
|
|
|
|
ci_stage = commit_status.pipeline.stages.find_by(name: evaluator.stage)
|
|
|
|
commit_status.ci_stage =
|
|
# rubocop: disable RSpec/FactoryBot/StrategyInCallback -- we need to create ci_stages if there aren't any
|
|
(ci_stage.presence || create(
|
|
:ci_stage,
|
|
pipeline: commit_status.pipeline,
|
|
project: commit_status.project || evaluator.project,
|
|
name: evaluator.stage,
|
|
position: evaluator.stage_idx,
|
|
status: 'created'
|
|
))
|
|
# rubocop: enable RSpec/FactoryBot/StrategyInCallback
|
|
end
|
|
|
|
trait :success do
|
|
status { 'success' }
|
|
end
|
|
|
|
trait :failed do
|
|
status { 'failed' }
|
|
end
|
|
|
|
trait :canceling do
|
|
status { 'canceling' }
|
|
end
|
|
|
|
trait :canceled do
|
|
status { 'canceled' }
|
|
end
|
|
|
|
trait :skipped do
|
|
status { 'skipped' }
|
|
end
|
|
|
|
trait :running do
|
|
status { 'running' }
|
|
end
|
|
|
|
trait :waiting_for_callback do
|
|
status { 'waiting_for_callback' }
|
|
end
|
|
|
|
trait :pending do
|
|
status { 'pending' }
|
|
end
|
|
|
|
trait :waiting_for_resource do
|
|
status { 'waiting_for_resource' }
|
|
end
|
|
|
|
trait :preparing do
|
|
status { 'preparing' }
|
|
end
|
|
|
|
trait :created do
|
|
status { 'created' }
|
|
end
|
|
|
|
trait :manual do
|
|
status { 'manual' }
|
|
end
|
|
|
|
trait :scheduled do
|
|
status { 'scheduled' }
|
|
end
|
|
|
|
after(:build) do |build, evaluator|
|
|
build.project ||= build.pipeline.project
|
|
end
|
|
end
|
|
end
|