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