Improving check-in process

mark user as present for the conference when user's registration ticket for that conference is scanned
This commit is contained in:
siddhantbajaj 2017-08-22 14:57:42 +05:30
parent ca5d139dc2
commit 69e30e7ba9
5 changed files with 49 additions and 2 deletions

View file

@ -4,7 +4,9 @@ describe Admin::TicketScanningsController do
let(:admin) { create(:admin) }
let(:conference) { create(:conference) }
let(:user) { create(:user) }
let(:paid_ticket_purchase) { create(:ticket_purchase, conference: conference, user: user) }
let!(:registration) { create(:registration, conference: conference, user: user) }
let(:registration_ticket) { create(:registration_ticket, conference: conference) }
let(:paid_ticket_purchase) { create(:ticket_purchase, conference: conference, user: user, ticket: registration_ticket, quantity: 1) }
let(:physical_ticket) { create(:physical_ticket, ticket_purchase: paid_ticket_purchase) }
context 'logged in as user with no role' do

View file

@ -0,0 +1,5 @@
FactoryGirl.define do
factory :ticket_scanning do
physical_ticket
end
end

View file

@ -0,0 +1,20 @@
require 'spec_helper'
describe TicketScanning do
let(:conference) { create(:conference) }
let(:user) { create(:user) }
let(:registration) { create(:registration, conference: conference, user: user) }
let(:registration_ticket) { create(:registration_ticket, conference: conference) }
let(:paid_ticket_purchase) { create(:ticket_purchase, conference: conference, user: user, ticket: registration_ticket, quantity: 1) }
let(:physical_ticket) { create(:physical_ticket, ticket_purchase: paid_ticket_purchase) }
let(:ticket_scanning) { create(:ticket_scanning, physical_ticket: physical_ticket) }
describe 'before_create' do
it 'marks user as present' do
expect(registration.attended).to eq(false)
ticket_scanning
registration.reload
expect(registration.attended).to eq(true)
end
end
end