scinote-web/spec/factories/repository_rows.rb

55 lines
1.6 KiB
Ruby

# frozen_string_literal: true
FactoryBot.define do
factory :repository_row do
sequence(:name) { |n| "My row-#{n}" }
created_by { create :user }
repository
last_modified_by { created_by }
trait :archived do
archived { true }
archived_on { Time.zone.now }
archived_by { created_by }
end
trait :restored do
archived { false }
restored_on { Time.zone.now }
restored_by { created_by }
end
trait :with_children do
transient do
nbr_of_children { 2 }
end
after(:create) do |repository_row, evaluator|
evaluator.nbr_of_children.times do
child_row_repository = create(:repository)
child_row = create(:repository_row, repository: child_row_repository)
repository_row.child_connections.create!(child: child_row,
created_by: repository_row.created_by,
last_modified_by: repository_row.created_by)
end
end
end
trait :with_parents do
transient do
nbr_of_parents { 2 }
end
after(:create) do |repository_row, evaluator|
evaluator.nbr_of_parents.times do
parent_row_repository = create(:repository)
parent_row = create(:repository_row, repository: parent_row_repository)
repository_row.parent_connections.create!(parent: parent_row,
created_by: repository_row.created_by,
last_modified_by: repository_row.created_by)
end
end
end
end
end