Commit d67dde2f authored by Rémy Coutable's avatar Rémy Coutable

Extract EE-specific code from spec/factories/import_states.rb

Signed-off-by: default avatarRémy Coutable <remy@rymai.me>
parent cb77c9af
# frozen_string_literal: true
FactoryBot.modify do
factory :import_state do
trait :mirror do
transient do
mirror true
import_url { generate(:url) }
end
before(:create) do |import_state, evaluator|
project = import_state.project
project.update_columns(mirror: evaluator.mirror,
import_url: evaluator.import_url,
mirror_user_id: project.creator_id)
end
end
after(:build) do |import_state|
case import_state.status.to_sym
when :scheduled
import_state.last_update_scheduled_at = Time.now
when :started
import_state.last_update_started_at = Time.now
when :finished
timestamp = Time.now
import_state.last_update_at = timestamp
import_state.last_update_started_at = timestamp
when :failed
import_state.last_update_at = Time.now
end
end
trait :hard_failed do
status :failed
retry_count { Gitlab::Mirror::MAX_RETRY + 1 }
last_update_at { Time.now - 1.minute }
end
end
end
......@@ -12,51 +12,24 @@ FactoryBot.define do
association :project, factory: [:project, :repository]
end
trait :mirror do
transient do
mirror true
import_url { generate(:url) }
end
before(:create) do |import_state, evaluator|
project = import_state.project
project.update_columns(mirror: evaluator.mirror,
import_url: evaluator.import_url,
mirror_user_id: project.creator_id)
end
end
trait :none do
status :none
end
trait :scheduled do
status :scheduled
last_update_scheduled_at { Time.now }
end
trait :started do
status :started
last_update_started_at { Time.now }
end
trait :finished do
timestamp = Time.now
status :finished
last_update_at timestamp
last_successful_update_at timestamp
end
trait :failed do
status :failed
last_update_at { Time.now }
end
trait :hard_failed do
status :failed
retry_count { Gitlab::Mirror::MAX_RETRY + 1 }
last_update_at { Time.now - 1.minute }
end
after(:create) do |import_state, evaluator|
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment