Add scopes
This commit is contained in:
parent
d4c62aad73
commit
7ff73cf588
2 changed files with 101 additions and 0 deletions
|
@ -26,6 +26,12 @@ class Relationship < ApplicationRecord
|
||||||
# Scopes #
|
# Scopes #
|
||||||
##########
|
##########
|
||||||
|
|
||||||
|
scope :supporters, -> { where(status: :supporter) }
|
||||||
|
|
||||||
|
scope :excluded, -> { where(status: :excluded) }
|
||||||
|
|
||||||
|
scope :members, -> { where(status: :member) }
|
||||||
|
|
||||||
scope :federal_managers, -> { where(role: :federal_manager) }
|
scope :federal_managers, -> { where(role: :federal_manager) }
|
||||||
|
|
||||||
scope :federal_supervisors, -> { where(role: :federal_supervisor) }
|
scope :federal_supervisors, -> { where(role: :federal_supervisor) }
|
||||||
|
@ -33,6 +39,10 @@ class Relationship < ApplicationRecord
|
||||||
scope :federal_secretaries,
|
scope :federal_secretaries,
|
||||||
-> { where(federal_secretary_flag: :federal_secretary) }
|
-> { where(federal_secretary_flag: :federal_secretary) }
|
||||||
|
|
||||||
|
scope :regional_managers, -> { where(role: :regional_manager) }
|
||||||
|
|
||||||
|
scope :regional_supervisors, -> { where(role: :regional_supervisor) }
|
||||||
|
|
||||||
scope :regional_secretaries,
|
scope :regional_secretaries,
|
||||||
-> { where(regional_secretary_flag: :regional_secretary) }
|
-> { where(regional_secretary_flag: :regional_secretary) }
|
||||||
|
|
||||||
|
|
|
@ -213,6 +213,63 @@ RSpec.describe Relationship do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe '.supporters' do
|
||||||
|
let!(:relationship1) { create :supporter_relationship }
|
||||||
|
let!(:relationship2) { create :member_relationship }
|
||||||
|
let!(:relationship3) { create :excluded_supporter_relationship }
|
||||||
|
let!(:relationship3) { create :excluded_member_relationship }
|
||||||
|
let!(:relationship4) { create :federal_manager_relationship }
|
||||||
|
let!(:relationship5) { create :federal_supervisor_relationship }
|
||||||
|
let!(:relationship6) { create :regional_manager_relationship }
|
||||||
|
let!(:relationship7) { create :regional_supervisor_relationship }
|
||||||
|
let!(:relationship8) { create :supporter_relationship }
|
||||||
|
|
||||||
|
specify do
|
||||||
|
expect(described_class.supporters).to \
|
||||||
|
eq [relationship1, relationship8]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe '.excluded' do
|
||||||
|
let!(:relationship1) { create :supporter_relationship }
|
||||||
|
let!(:relationship2) { create :member_relationship }
|
||||||
|
let!(:relationship3) { create :excluded_supporter_relationship }
|
||||||
|
let!(:relationship4) { create :excluded_member_relationship }
|
||||||
|
let!(:relationship5) { create :federal_manager_relationship }
|
||||||
|
let!(:relationship6) { create :federal_supervisor_relationship }
|
||||||
|
let!(:relationship7) { create :regional_manager_relationship }
|
||||||
|
let!(:relationship8) { create :regional_supervisor_relationship }
|
||||||
|
let!(:relationship9) { create :excluded_supporter_relationship }
|
||||||
|
|
||||||
|
specify do
|
||||||
|
expect(described_class.excluded).to \
|
||||||
|
eq [relationship3, relationship4, relationship9]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe '.members' do
|
||||||
|
let!(:relationship1) { create :supporter_relationship }
|
||||||
|
let!(:relationship2) { create :member_relationship }
|
||||||
|
let!(:relationship3) { create :excluded_supporter_relationship }
|
||||||
|
let!(:relationship4) { create :excluded_member_relationship }
|
||||||
|
let!(:relationship5) { create :federal_manager_relationship }
|
||||||
|
let!(:relationship6) { create :federal_supervisor_relationship }
|
||||||
|
let!(:relationship7) { create :regional_manager_relationship }
|
||||||
|
let!(:relationship8) { create :regional_supervisor_relationship }
|
||||||
|
let!(:relationship9) { create :member_relationship }
|
||||||
|
|
||||||
|
specify do
|
||||||
|
expect(described_class.members).to eq [
|
||||||
|
relationship2,
|
||||||
|
relationship5,
|
||||||
|
relationship6,
|
||||||
|
relationship7,
|
||||||
|
relationship8,
|
||||||
|
relationship9,
|
||||||
|
]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
describe '.federal_managers' do
|
describe '.federal_managers' do
|
||||||
let!(:relationship1) { create :supporter_relationship }
|
let!(:relationship1) { create :supporter_relationship }
|
||||||
let!(:relationship2) { create :member_relationship }
|
let!(:relationship2) { create :member_relationship }
|
||||||
|
@ -264,6 +321,40 @@ RSpec.describe Relationship do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe '.regional_managers' do
|
||||||
|
let!(:relationship1) { create :supporter_relationship }
|
||||||
|
let!(:relationship2) { create :member_relationship }
|
||||||
|
let!(:relationship3) { create :excluded_supporter_relationship }
|
||||||
|
let!(:relationship3) { create :excluded_member_relationship }
|
||||||
|
let!(:relationship4) { create :federal_manager_relationship }
|
||||||
|
let!(:relationship5) { create :federal_supervisor_relationship }
|
||||||
|
let!(:relationship6) { create :regional_manager_relationship }
|
||||||
|
let!(:relationship7) { create :regional_supervisor_relationship }
|
||||||
|
let!(:relationship8) { create :regional_manager_relationship }
|
||||||
|
|
||||||
|
specify do
|
||||||
|
expect(described_class.regional_managers).to \
|
||||||
|
eq [relationship6, relationship8]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe '.regional_supervisors' do
|
||||||
|
let!(:relationship1) { create :supporter_relationship }
|
||||||
|
let!(:relationship2) { create :member_relationship }
|
||||||
|
let!(:relationship3) { create :excluded_supporter_relationship }
|
||||||
|
let!(:relationship3) { create :excluded_member_relationship }
|
||||||
|
let!(:relationship4) { create :federal_manager_relationship }
|
||||||
|
let!(:relationship5) { create :federal_supervisor_relationship }
|
||||||
|
let!(:relationship6) { create :regional_manager_relationship }
|
||||||
|
let!(:relationship7) { create :regional_supervisor_relationship }
|
||||||
|
let!(:relationship8) { create :regional_supervisor_relationship }
|
||||||
|
|
||||||
|
specify do
|
||||||
|
expect(described_class.regional_supervisors).to \
|
||||||
|
eq [relationship7, relationship8]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
describe '.regional_secretaries' do
|
describe '.regional_secretaries' do
|
||||||
let!(:relationship1) { create :supporter_relationship }
|
let!(:relationship1) { create :supporter_relationship }
|
||||||
let!(:relationship2) { create :member_relationship }
|
let!(:relationship2) { create :member_relationship }
|
||||||
|
|
Reference in a new issue