add payment tests
This commit is contained in:
parent
a5bb038f61
commit
7b23018a06
2 changed files with 53 additions and 0 deletions
9
spec/factories/payments.rb
Normal file
9
spec/factories/payments.rb
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
FactoryGirl.define do
|
||||||
|
factory :payment do
|
||||||
|
user
|
||||||
|
conference
|
||||||
|
last4 4242
|
||||||
|
authorization_code 1234567890
|
||||||
|
amount 10
|
||||||
|
end
|
||||||
|
end
|
||||||
44
spec/models/payment_spec.rb
Normal file
44
spec/models/payment_spec.rb
Normal file
|
|
@ -0,0 +1,44 @@
|
||||||
|
require 'spec_helper'
|
||||||
|
|
||||||
|
describe Payment do
|
||||||
|
|
||||||
|
context 'new payment' do
|
||||||
|
let(:payment) { create(:payment) }
|
||||||
|
it 'sets status to "unpaid" by default' do
|
||||||
|
expect(payment.status).to eq('unpaid')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe 'validations' do
|
||||||
|
it 'has a valid factory' do
|
||||||
|
expect(build(:payment)).to be_valid
|
||||||
|
end
|
||||||
|
|
||||||
|
it { is_expected.to validate_presence_of(:last4) }
|
||||||
|
|
||||||
|
it { is_expected.to validate_presence_of(:amount) }
|
||||||
|
|
||||||
|
it { is_expected.to validate_presence_of(:authorization_code) }
|
||||||
|
|
||||||
|
it { is_expected.to validate_presence_of(:status) }
|
||||||
|
|
||||||
|
it { is_expected.to validate_presence_of(:user_id) }
|
||||||
|
|
||||||
|
it { is_expected.to validate_presence_of(:conference_id) }
|
||||||
|
|
||||||
|
it 'is not valid with a amount equals zero' do
|
||||||
|
should_not allow_value(0).for(:amount)
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'is not valid with a amount smaller than zero' do
|
||||||
|
should_not allow_value(-1).for(:amount)
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'is valid with a amount greater than zero' do
|
||||||
|
should allow_value(1).for(:amount)
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
describe 'self#purchase'
|
||||||
|
end
|
||||||
Loading…
Add table
Add a link
Reference in a new issue