forked from Gitlink/forgeplus
41 lines
1002 B
Ruby
41 lines
1002 B
Ruby
require 'rails_helper'
|
|
|
|
RSpec.describe Wallet, type: :model do
|
|
describe 'receive' do
|
|
it 'success' do
|
|
wallet = Wallet.find_by_id(4)
|
|
balance = wallet.balance
|
|
amount = 5
|
|
expect {
|
|
wallet.receive(amount)
|
|
}.to change { wallet.balance }.from(balance).to(balance+amount)
|
|
end
|
|
end
|
|
|
|
describe 'pay' do
|
|
context 'balance enough' do
|
|
it 'success to pay' do
|
|
wallet = Wallet.find_by_id(4)
|
|
balance = wallet.balance
|
|
amount = 5
|
|
success = false
|
|
expect {
|
|
success = wallet.pay(amount)
|
|
}.to change { wallet.balance }.from(balance).to(balance-amount)
|
|
expect(success).to eq(true)
|
|
end
|
|
end
|
|
|
|
context 'balance not enough' do
|
|
it 'fail to pay' do
|
|
wallet = Wallet.find_by_id(4)
|
|
balance = wallet.balance
|
|
amount = 500
|
|
success = wallet.pay(amount)
|
|
expect(success).to eq(false)
|
|
expect(wallet.balance).to eq(balance)
|
|
end
|
|
end
|
|
end
|
|
end
|