diff options
Diffstat (limited to 'spec/factories/import_states.rb')
-rw-r--r-- | spec/factories/import_states.rb | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/spec/factories/import_states.rb b/spec/factories/import_states.rb new file mode 100644 index 00000000000..d6de26dccbc --- /dev/null +++ b/spec/factories/import_states.rb @@ -0,0 +1,43 @@ +FactoryBot.define do + factory :import_state, class: ProjectImportState do + status :none + association :project, factory: :project + + transient do + import_url { generate(:url) } + import_type nil + end + + trait :repository do + association :project, factory: [:project, :repository] + end + + trait :none do + status :none + end + + trait :scheduled do + status :scheduled + end + + trait :started do + status :started + end + + trait :finished do + status :finished + end + + trait :failed do + status :failed + end + + after(:create) do |import_state, evaluator| + columns = {} + columns[:import_url] = evaluator.import_url unless evaluator.import_url.blank? + columns[:import_type] = evaluator.import_type unless evaluator.import_type.blank? + + import_state.project.update_columns(columns) + end + end +end |