spec/ticket: add tests for purchasing free tickets

This commit is contained in:
Rishabh Saxena 2016-08-18 23:23:38 +05:30
parent b2f75dd907
commit b28be23284
No known key found for this signature in database
GPG key ID: FA3BDC38A9CB6807
2 changed files with 37 additions and 2 deletions

View file

@ -41,7 +41,21 @@ describe TicketPurchase do
let!(:participant) { create(:user) }
let!(:ticket_1) { create(:ticket) }
let!(:ticket_2) { create(:ticket) }
let!(:conference) { create(:conference, tickets: [ticket_1, ticket_2]) }
let!(:free_ticket) { create(:ticket) }
let!(:conference) { create(:conference, tickets: [ticket_1, ticket_2, free_ticket]) }
it 'creates purchase to free ticket' do
tickets = { free_ticket.id.to_s => '10' }
message = TicketPurchase.purchase(conference, participant, tickets)
purchase = TicketPurchase.where(conference_id: conference.id,
user_id: participant.id,
ticket_id: free_ticket.id).first
expect(TicketPurchase.count).to eq(1)
expect(purchase.quantity).to eq(10)
expect(message.blank?).to be true
end
it 'creates a purchase for one ticket' do
tickets = { ticket_1.id.to_s => '1' }