52 lines
1.3 KiB
Ruby
52 lines
1.3 KiB
Ruby
# encoding: UTF-8
|
|
# frozen_string_literal: true
|
|
|
|
FactoryBot.define do
|
|
sequence :transfer_key do
|
|
"transfer_#{Faker::Number.unique.number(5).to_i}"
|
|
end
|
|
|
|
factory :transfer do
|
|
key { generate(:transfer_key) }
|
|
category { Transfer::CATEGORIES.sample }
|
|
description { "#{category} for #{Time.now.to_date}" }
|
|
|
|
trait :with_assets do
|
|
after(:create) do |t|
|
|
assets_number = Faker::Number.between(1, 5).to_i
|
|
create_list(:asset, assets_number, reference: t)
|
|
end
|
|
end
|
|
|
|
trait :with_expenses do
|
|
after(:create) do |t|
|
|
expense_number = Faker::Number.between(1, 5).to_i
|
|
create_list(:expense, expense_number, reference: t)
|
|
end
|
|
end
|
|
|
|
trait :with_liabilities do
|
|
after(:create) do |t|
|
|
liabilities_number = Faker::Number.between(1, 5).to_i
|
|
create_list(:liability, liabilities_number, :with_member, reference: t)
|
|
end
|
|
end
|
|
|
|
trait :with_revenues do
|
|
after(:create) do |t|
|
|
revenues_number = Faker::Number.between(1, 5).to_i
|
|
create_list(:revenue, revenues_number, reference: t)
|
|
end
|
|
end
|
|
|
|
trait :with_operations do
|
|
with_assets
|
|
with_expenses
|
|
with_liabilities
|
|
with_revenues
|
|
end
|
|
|
|
factory :transfer_with_operations, traits: %i[with_operations]
|
|
end
|
|
end
|