VRFS-3389 changed results schema
This commit is contained in:
parent
dd420527c0
commit
3c16949615
|
|
@ -8,6 +8,7 @@ module JamRuby
|
|||
KEY_RESULT_TYPES = 'result_types'
|
||||
KEY_SONGS = 'songs'
|
||||
KEY_ARTISTS = 'artists'
|
||||
KEY_RESULTS = 'results'
|
||||
|
||||
def self.json_schema
|
||||
return @@jschema if @@jschema
|
||||
|
|
@ -19,12 +20,14 @@ module JamRuby
|
|||
KEY_SONGS => {
|
||||
'page_num' => 0,
|
||||
'page_count' => 0,
|
||||
'results' => []
|
||||
},
|
||||
KEY_ARTISTS => {
|
||||
'page_num' => 0,
|
||||
'page_count' => 0,
|
||||
'results' => []
|
||||
},
|
||||
KEY_RESULTS => {
|
||||
KEY_SONGS => [],
|
||||
KEY_ARTISTS => [],
|
||||
}
|
||||
}
|
||||
end
|
||||
|
|
@ -79,8 +82,8 @@ module JamRuby
|
|||
filter[KEY_SONGS] = {
|
||||
'page_num' => pgnum,
|
||||
'page_count' => rel.total_pages,
|
||||
'results' => results
|
||||
}
|
||||
filter[KEY_RESULTS][KEY_SONGS] = results
|
||||
end
|
||||
|
||||
if has_artists
|
||||
|
|
@ -101,8 +104,8 @@ module JamRuby
|
|||
filter[KEY_ARTISTS] = {
|
||||
'page_num' => pgnum,
|
||||
'page_count' => rel.total_pages,
|
||||
'results' => results
|
||||
}
|
||||
filter[KEY_RESULTS][KEY_ARTISTS] = results
|
||||
end
|
||||
|
||||
filter
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ describe 'JamTrack Search Model' do
|
|||
filter = artist_filter.clone
|
||||
filter[JamTrackSearch::KEY_SEARCH_STR] = freebird.original_artist
|
||||
filter = JamTrackSearch.new.search_results_page(filter)
|
||||
expect(filter[JamTrackSearch::KEY_ARTISTS]['results'].count).to be(1)
|
||||
expect(filter[JamTrackSearch::KEY_RESULTS][JamTrackSearch::KEY_ARTISTS].count).to be(1)
|
||||
end
|
||||
|
||||
it "paginates by artist" do
|
||||
|
|
@ -44,20 +44,20 @@ describe 'JamTrack Search Model' do
|
|||
filter = artist_filter.clone
|
||||
filter[JamTrackSearch::KEY_SEARCH_STR] = freebird.original_artist
|
||||
out_filter = JamTrackSearch.new.search_results_page(filter.clone)
|
||||
expect(out_filter[JamTrackSearch::KEY_ARTISTS]['results'].count).to be([JamTrackSearch::ARTISTS_PER_PAGE, JamTrack.count].min)
|
||||
expect(out_filter[JamTrackSearch::KEY_RESULTS][JamTrackSearch::KEY_ARTISTS].count).to be([JamTrackSearch::ARTISTS_PER_PAGE, JamTrack.count].min)
|
||||
num_page = (JamTrack.count / JamTrackSearch::ARTISTS_PER_PAGE) + 1
|
||||
expect(out_filter[JamTrackSearch::KEY_ARTISTS]['page_count']).to be(num_page)
|
||||
|
||||
filter[JamTrackSearch::KEY_ARTISTS]['page_num'] = 2
|
||||
out_filter = JamTrackSearch.new.search_results_page(filter.clone)
|
||||
expect(out_filter[JamTrackSearch::KEY_ARTISTS]['results'].count).to be(1)
|
||||
expect(out_filter[JamTrackSearch::KEY_RESULTS][JamTrackSearch::KEY_ARTISTS].count).to be(1)
|
||||
end
|
||||
|
||||
it "finds by song" do
|
||||
filter = song_filter.clone
|
||||
filter[JamTrackSearch::KEY_SEARCH_STR] = freebird.name
|
||||
filter = JamTrackSearch.new.search_results_page(filter.clone)
|
||||
expect(filter[JamTrackSearch::KEY_SONGS]['results'].count).to be(1)
|
||||
expect(filter[JamTrackSearch::KEY_RESULTS][JamTrackSearch::KEY_SONGS].count).to be(1)
|
||||
end
|
||||
|
||||
it "paginates by song" do
|
||||
|
|
@ -69,7 +69,7 @@ describe 'JamTrack Search Model' do
|
|||
filter = song_filter.clone
|
||||
filter[JamTrackSearch::KEY_SEARCH_STR] = 'abc'
|
||||
out_filter = JamTrackSearch.new.search_results_page(filter.clone)
|
||||
expect(out_filter[JamTrackSearch::KEY_SONGS]['results'].count).to be([JamTrackSearch::SONGS_PER_PAGE, JamTrack.count].min)
|
||||
expect(out_filter[JamTrackSearch::KEY_RESULTS][JamTrackSearch::KEY_SONGS].count).to be([JamTrackSearch::SONGS_PER_PAGE, JamTrack.count].min)
|
||||
|
||||
total_count = JamTrack.where("name LIKE 'abc%'").count
|
||||
num_page = (total_count / JamTrackSearch::SONGS_PER_PAGE) + (0==(total_count % JamTrackSearch::SONGS_PER_PAGE) ? 0 : 1)
|
||||
|
|
@ -77,7 +77,7 @@ describe 'JamTrack Search Model' do
|
|||
|
||||
filter[JamTrackSearch::KEY_SONGS]['page_num'] = 2
|
||||
out_filter = JamTrackSearch.new.search_results_page(filter.clone)
|
||||
expect(out_filter[JamTrackSearch::KEY_SONGS]['results'].count).to be(2)
|
||||
expect(out_filter[JamTrackSearch::KEY_RESULTS][JamTrackSearch::KEY_SONGS].count).to be(2)
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
|||
Loading…
Reference in New Issue