VRFS-3036 fixed performance sample query and test
This commit is contained in:
parent
1ad3f6a79f
commit
ebe620a3b3
|
|
@ -173,9 +173,9 @@ module JamRuby
|
|||
def _performance_samples(rel, filter)
|
||||
case filter[KEY_PERF_SAMPLES]
|
||||
when VAL_YES
|
||||
rel.joins("LEFT OUTER JOIN performance_samples AS ps ON ps.player_id = bands.id AND player_type = '#{self.class.name}'").where(["ps.id IS NOT NULL"])
|
||||
rel.joins("LEFT OUTER JOIN performance_samples AS ps ON ps.player_id = bands.id AND player_type = '#{Band.name}'").where(["ps.id IS NOT NULL"])
|
||||
when VAL_NO
|
||||
rel.joins("LEFT OUTER JOIN performance_samples AS ps ON ps.player_id = bands.id AND player_type = '#{self.class.name}'").where(["ps.id IS NULL"])
|
||||
rel.joins("LEFT OUTER JOIN performance_samples AS ps ON ps.player_id = bands.id AND player_type = '#{Band.name}'").where(["ps.id IS NULL"])
|
||||
else
|
||||
rel
|
||||
end
|
||||
|
|
@ -246,8 +246,8 @@ module JamRuby
|
|||
rel
|
||||
end
|
||||
|
||||
def search_includes(rel)
|
||||
rel.includes([:instruments])
|
||||
def search_includes(rel, subtype=TO_JOIN)
|
||||
TO_JOIN == subtype ? rel.includes([:instruments]) : rel
|
||||
end
|
||||
|
||||
def _process_results_page(_results)
|
||||
|
|
@ -340,7 +340,7 @@ module JamRuby
|
|||
@page_number = [page.to_i, 1].max
|
||||
rel = rel.paginate(:page => @page_number, :per_page => self.class::PER_PAGE)
|
||||
|
||||
rel = self.search_includes(rel)
|
||||
rel = self.search_includes(rel, subtype)
|
||||
@page_count = rel.total_pages
|
||||
|
||||
_process_results_page(rel.all)
|
||||
|
|
|
|||
|
|
@ -289,8 +289,16 @@ describe 'Band Search Model' do
|
|||
end
|
||||
|
||||
it "filters by perform samples" do
|
||||
pending
|
||||
PerformanceSample.create(searcher, {player: band, service_type: 'youtube', service_id: 'abc123'})
|
||||
filter[BandSearch::KEY_PERF_SAMPLES] = BandSearch::VAL_YES
|
||||
search.search_results_page(BandSearch::TO_HIRE, filter)
|
||||
expect(search.results.count).to eq(0)
|
||||
|
||||
ps = PerformanceSample.new
|
||||
ps.player = band
|
||||
ps.service_type = 'youtube'
|
||||
ps.service_id = 'abc123'
|
||||
ps.save
|
||||
# PerformanceSample.create(player: band, service_type: 'youtube', service_id: 'abc123')
|
||||
filter[BandSearch::KEY_PERF_SAMPLES] = BandSearch::VAL_YES
|
||||
search.search_results_page(BandSearch::TO_HIRE, filter)
|
||||
expect(search.results.count).to eq(1)
|
||||
|
|
|
|||
Loading…
Reference in New Issue