mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2024-11-12 20:24:43 +08:00
84 lines
3.3 KiB
Ruby
84 lines
3.3 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
FactoryBot.define do
|
|
factory :repository_cell do
|
|
repository_row
|
|
|
|
trait :text_value do
|
|
repository_column { create :repository_column, :text_type, repository: repository_row.repository }
|
|
after(:build) do |repository_cell|
|
|
repository_cell.value ||= create(:repository_text_value, repository_cell: repository_cell)
|
|
end
|
|
end
|
|
|
|
trait :date_time_value do
|
|
repository_column { create :repository_column, :date_time_type, repository: repository_row.repository }
|
|
after(:build) do |repository_cell|
|
|
repository_cell.value ||= build(:repository_date_time_value, repository_cell: repository_cell)
|
|
end
|
|
end
|
|
|
|
trait :time_value do
|
|
repository_column { create :repository_column, :time_type, repository: repository_row.repository }
|
|
after(:build) do |repository_cell|
|
|
repository_cell.value ||= build(:repository_time_value, repository_cell: repository_cell)
|
|
end
|
|
end
|
|
|
|
trait :date_value do
|
|
repository_column { create :repository_column, :date_type, repository: repository_row.repository }
|
|
after(:build) do |repository_cell|
|
|
repository_cell.value ||= build(:repository_date_value, repository_cell: repository_cell)
|
|
end
|
|
end
|
|
|
|
trait :list_value do
|
|
repository_column { create :repository_column, :list_type, repository: repository_row.repository }
|
|
after(:build) do |repository_cell|
|
|
repository_cell.value ||= build(:repository_list_value, repository_cell: repository_cell)
|
|
end
|
|
end
|
|
|
|
trait :asset_value do
|
|
repository_column { create :repository_column, :asset_type, repository: repository_row.repository }
|
|
after(:build) do |repository_cell|
|
|
repository_cell.value ||= build(:repository_asset_value, repository_cell: repository_cell)
|
|
end
|
|
end
|
|
|
|
trait :status_value do
|
|
repository_column { create :repository_column, :status_type, repository: repository_row.repository }
|
|
after(:build) do |repository_cell|
|
|
repository_cell.value ||= build(:repository_status_value, repository_cell: repository_cell)
|
|
end
|
|
end
|
|
|
|
trait :date_time_range_value do
|
|
repository_column { create :repository_column, :date_time_range_type, repository: repository_row.repository }
|
|
after(:build) do |repository_cell|
|
|
repository_cell.value ||= build(:repository_date_time_range_value, repository_cell: repository_cell)
|
|
end
|
|
end
|
|
|
|
trait :date_range_value do
|
|
repository_column { create :repository_column, :date_range_type, repository: repository_row.repository }
|
|
after(:build) do |repository_cell|
|
|
repository_cell.value ||= build(:repository_date_range_value, repository_cell: repository_cell)
|
|
end
|
|
end
|
|
|
|
trait :time_range_value do
|
|
repository_column { create :repository_column, :time_range_type, repository: repository_row.repository }
|
|
after(:build) do |repository_cell|
|
|
repository_cell.value ||= build(:repository_time_range_value, repository_cell: repository_cell)
|
|
end
|
|
end
|
|
|
|
trait :checkbox_value do
|
|
repository_column { create :repository_column, :checklist_type, repository: repository_row.repository }
|
|
after(:build) do |repository_cell|
|
|
repository_cell.value ||= build(:repository_checklist_value, repository_cell: repository_cell)
|
|
end
|
|
end
|
|
end
|
|
end
|