Initial commit
This commit is contained in:
40
spec/factories/beneficiaries.rb
Normal file
40
spec/factories/beneficiaries.rb
Normal file
@@ -0,0 +1,40 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
FactoryBot.define do
|
||||
sequence(:coin_beneficiary_data) do
|
||||
{ address: Faker::Blockchain::Ethereum.address }
|
||||
end
|
||||
|
||||
sequence(:fiat_beneficiary_data) do
|
||||
{ full_name: Faker::Name.name_with_middle,
|
||||
address: Faker::Address.full_address,
|
||||
country: Faker::Address.country,
|
||||
account_number: Faker::Bank.account_number,
|
||||
account_type: %w[saving checking money-market CDs retirement].sample,
|
||||
bank_name: Faker::Bank.name,
|
||||
bank_address: Faker::Address.full_address,
|
||||
bank_country: Faker::Address.country,
|
||||
bank_swift_code: Faker::Bank.swift_bic,
|
||||
intermediary_bank_name: Faker::Bank.name,
|
||||
intermediary_bank_address: Faker::Address.full_address,
|
||||
intermediary_bank_country: Faker::Address.country,
|
||||
intermediary_bank_swift_code: Faker::Bank.swift_bic }
|
||||
end
|
||||
|
||||
factory :beneficiary do
|
||||
member { create(:member) }
|
||||
currency { Currency.all.sample }
|
||||
name { Faker::Company.name }
|
||||
description { Faker::Company.catch_phrase }
|
||||
state { 'pending' }
|
||||
|
||||
data do
|
||||
# Use save navigation operator for cases when currency is nil.
|
||||
if currency&.coin?
|
||||
generate(:coin_beneficiary_data)
|
||||
elsif currency&.fiat?
|
||||
generate(:fiat_beneficiary_data).merge(currency: currency.id)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user