houdini/spec/models/ticket_spec.rb
2020-06-15 10:26:57 -05:00

37 lines
1.2 KiB
Ruby

# frozen_string_literal: true
# License: AGPL-3.0-or-later WITH WTO-AP-3.0-or-later
# Full license explanation at https://github.com/houdiniproject/houdini/blob/master/LICENSE
require 'rails_helper'
RSpec.describe Ticket, type: :model do
let(:payment1) { force_create(:payment) }
let(:payment2) { force_create(:payment) }
let(:ticket1) { force_create(:ticket, payment: payment1) }
let(:ticket2) { force_create(:ticket, payment: payment1) }
let(:ticket3) { force_create(:ticket, payment: payment1) }
let(:ticket4) { force_create(:ticket, payment: payment2) }
before(:each) do
ticket1
ticket2
ticket3
ticket4
end
it 'has ticket1 getting ticket2 and ticket3 for related_tickets' do
expect(ticket1.related_tickets).to contain_exactly(ticket2, ticket3)
end
it 'has ticket2 getting ticket1 and ticket3 for related_tickets' do
expect(ticket2.related_tickets).to contain_exactly(ticket1, ticket3)
end
it 'has ticket3 getting ticket1 and ticket2 for related_tickets' do
expect(ticket3.related_tickets).to contain_exactly(ticket1, ticket2)
end
it 'has ticket4 getting no related tickets' do
expect(ticket4.related_tickets).to be_empty
end
end