Files
Dena/spec/factories/beneficiaries.rb
2026-08-13 19:50:53 +03:30

41 lines
1.5 KiB
Ruby

# 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