Merge pull request #207 from houdiniproject/add_related_tickets

Add related tickets
This commit is contained in:
Eric Schultz 2019-07-12 13:51:58 -05:00 committed by GitHub
commit 5850ed2fd8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 38 additions and 0 deletions

View file

@ -15,4 +15,7 @@ class Ticket < ActiveRecord::Base
has_one :nonprofit, through: :event has_one :nonprofit, through: :event
has_many :activities, as: :attachment, dependent: :destroy has_many :activities, as: :attachment, dependent: :destroy
def related_tickets
payment.tickets.where('id != ?', self.id)
end
end end

View file

@ -0,0 +1,35 @@
# License: AGPL-3.0-or-later WITH Web-Template-Output-Additional-Permission-3.0-or-later
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