Initial commit

This commit is contained in:
Yaser
2026-08-13 19:50:53 +03:30
commit 38084458fe
879 changed files with 95198 additions and 0 deletions

110
spec/factories/orders.rb Normal file
View File

@@ -0,0 +1,110 @@
# encoding: UTF-8
# frozen_string_literal: true
FactoryBot.define do
factory :order_bid do
# Create liability history by passing with_deposit_liability trait.
trait :with_deposit_liability do
before(:create) do |order|
deposit = create(:deposit_usd, member: order.member, amount: order.locked)
deposit.accept!
deposit.process!
deposit.dispatch!
end
bid { :usd }
ask { :btc }
market { Market.find(:btcusd) }
state { :wait }
ord_type { 'limit' }
price { '1'.to_d }
volume { '1'.to_d }
origin_volume { volume.to_d }
locked { price.to_d * volume.to_d }
origin_locked { locked.to_d }
member { create(:member) }
end
trait :btcusd do
bid { :usd }
ask { :btc }
market { Market.find(:btcusd) }
state { :wait }
ord_type { 'limit' }
price { '1'.to_d }
volume { '1'.to_d }
origin_volume { volume.to_d }
locked { price.to_d * volume.to_d }
origin_locked { locked.to_d }
member { create(:member) }
end
trait :btceth do
bid { :eth }
ask { :btc }
market { Market.find(:btceth) }
state { :wait }
ord_type { 'limit' }
price { '1'.to_d }
volume { '1'.to_d }
origin_volume { volume.to_d }
locked { price.to_d * volume.to_d }
origin_locked { locked.to_d }
member { create(:member) }
end
end
factory :order_ask do
# Create liability history by passing with_deposit_liability trait.
trait :with_deposit_liability do
before(:create) do |order|
deposit = create(:deposit_btc, member: order.member, amount: order.locked)
deposit.accept!
deposit.process!
deposit.dispatch!
end
bid { :usd }
ask { :btc }
market { Market.find(:btcusd) }
state { :wait }
ord_type { 'limit' }
price { '1'.to_d }
volume { '1'.to_d }
origin_volume { volume.to_d }
locked { volume.to_d }
origin_locked { locked.to_d }
member { create(:member) }
end
trait :btcusd do
bid { :usd }
ask { :btc }
market { Market.find(:btcusd) }
state { :wait }
ord_type { 'limit' }
price { '1'.to_d }
volume { '1'.to_d }
origin_volume { volume.to_d }
locked { volume.to_d }
origin_locked { locked.to_d }
member { create(:member) }
end
trait :btceth do
bid { :eth }
ask { :btc }
market { Market.find(:btceth) }
state { :wait }
ord_type { 'limit' }
price { '1'.to_d }
volume { '1'.to_d }
origin_volume { volume.to_d }
locked { volume.to_d }
origin_locked { locked.to_d }
member { create(:member) }
end
end
end