mirror of
https://github.com/openSUSE/osem.git
synced 2026-08-13 19:54:02 +00:00
Added model test
Added test for physical ticket model.
This commit is contained in:
parent
5c56683ae8
commit
d7678b2fa0
4 changed files with 25 additions and 18 deletions
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
|
conference
|
||||||
ticket
|
ticket
|
||||||
quantity 10
|
quantity 10
|
||||||
|
factory :paid_ticket_purchase do
|
||||||
|
after(:build) do |ticket_purchase|
|
||||||
|
payment = create(:payment)
|
||||||
|
ticket_purchase.pay(payment)
|
||||||
|
end
|
||||||
|
end
|
||||||
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
|
expect(message.blank?).to be true
|
||||||
end
|
end
|
||||||
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
|
end
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue