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

52 lines
1.3 KiB
Ruby

# encoding: UTF-8
# frozen_string_literal: true
describe Member do
let(:member) { build(:member, :level_3) }
subject { member }
describe 'uid' do
subject(:member) { create(:member, :level_3) }
it do
expect(member.uid).to_not be_nil
expect(member.uid).to_not be_empty
expect(member.uid).to match(/\AID[A-Z0-9]{10}$/)
end
end
describe 'username' do
subject(:member) { create(:member, username: 'foobar') }
it do
expect(member.username).to_not be_nil
expect(member.username).to_not be_empty
expect(member.username).to eq 'foobar'
end
end
describe 'before_create' do
it 'should unify email' do
create(:member, email: 'foo@example.com')
expect(build(:member, email: 'Foo@example.com')).to_not be_valid
end
it 'doesnt creates accounts for the member' do
expect do
member.save!
end.not_to change(member.accounts, :count)
end
end
describe '#trades' do
subject { create(:member, :level_3) }
it 'should find all trades belong to user' do
ask = create(:order_ask, :btcusd, member: member)
bid = create(:order_bid, :btcusd, member: member)
t1 = create(:trade, :btcusd, maker_order: ask)
t2 = create(:trade, :btcusd, taker_order: bid)
expect(member.trades.order('id')).to eq [t1, t2]
end
end
end