foodsoft/spec/factories/supplier.rb

34 lines
901 B
Ruby

require 'factory_bot'
FactoryBot.define do
factory :supplier do
name { Faker::Company.name.truncate(30) }
phone { Faker::PhoneNumber.phone_number }
address { Faker::Address.street_address }
transient do
article_count { 0 }
end
before :create do |supplier, evaluator|
next if supplier.class == SharedSupplier
next if supplier.supplier_category_id?
supplier.supplier_category = create :supplier_category
end
after :create do |supplier, evaluator|
article_count = evaluator.article_count
article_count = rand(1..99) if article_count == true
create_list :article, article_count, supplier: supplier
end
factory :shared_supplier, class: SharedSupplier
end
factory :supplier_category do
sequence(:name) { |n| Faker::Lorem.characters(number: rand(2..12)) + " ##{n}" }
financial_transaction_class
end
end