mirror of
https://github.com/openSUSE/osem.git
synced 2026-02-06 04:01:39 -05:00
Added model test
Added test for physical ticket model.
This commit is contained in:
committed by
siddhantbajaj
parent
5c56683ae8
commit
d7678b2fa0
5
spec/factories/physical_ticket.rb
Normal file
5
spec/factories/physical_ticket.rb
Normal file
@@ -0,0 +1,5 @@
|
||||
FactoryGirl.define do
|
||||
factory :physical_ticket do
|
||||
ticket_purchase
|
||||
end
|
||||
end
|
||||
@@ -4,5 +4,11 @@ FactoryGirl.define do
|
||||
conference
|
||||
ticket
|
||||
quantity 10
|
||||
factory :paid_ticket_purchase do
|
||||
after(:build) do |ticket_purchase|
|
||||
payment = create(:payment)
|
||||
ticket_purchase.pay(payment)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
14
spec/models/physical_ticket_spec.rb
Normal file
14
spec/models/physical_ticket_spec.rb
Normal file
@@ -0,0 +1,14 @@
|
||||
require 'spec_helper'
|
||||
|
||||
describe PhysicalTicket do
|
||||
|
||||
describe 'association' do
|
||||
it { is_expected.to belong_to :ticket_purchase }
|
||||
end
|
||||
|
||||
describe 'validations' do
|
||||
it 'has a valid factory' do
|
||||
expect(build(:physical_ticket)).to be_valid
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -114,22 +114,4 @@ describe TicketPurchase do
|
||||
expect(message.blank?).to be true
|
||||
end
|
||||
end
|
||||
|
||||
describe 'after_create' do
|
||||
let(:ticket_purchase) { create(:ticket_purchase, quantity: 4, paid: true) }
|
||||
|
||||
it 'creates physical tickets equal to the quantity of purchase' do
|
||||
expect(ticket_purchase.physical_tickets.count).to eq(4)
|
||||
end
|
||||
end
|
||||
|
||||
describe 'after_update' do
|
||||
let(:ticket_purchase) { create(:ticket_purchase, quantity: 5) }
|
||||
|
||||
it 'creates physical tickets if the payment is made successfully' do
|
||||
ticket_purchase
|
||||
ticket_purchase.paid = true
|
||||
expect{ ticket_purchase.save }.to change{ ticket_purchase.physical_tickets.count }.from(0).to(5)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user