Accept SHA256 as identifier for API playlists/show
This commit is contained in:
parent
3089462d97
commit
fedf565389
@ -12,7 +12,10 @@ module API
|
|||||||
private
|
private
|
||||||
|
|
||||||
def set_sound
|
def set_sound
|
||||||
@sound = Sound.find(params[:id])
|
@sound = case params[:id]
|
||||||
|
when /\A\d+\z/ then Sound.find(params[:id])
|
||||||
|
when /\A\h+\z/ then Sound.find_by_sha256!(params[:id])
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -4,7 +4,8 @@ describe 'API sounds' do
|
|||||||
describe 'sound show' do
|
describe 'sound show' do
|
||||||
let(:sound) { create :sound }
|
let(:sound) { create :sound }
|
||||||
let(:request_method) { :get }
|
let(:request_method) { :get }
|
||||||
let(:request_show) { send request_method, api_sound_path(sound) }
|
let(:request_path) { api_sound_path(sound) }
|
||||||
|
let(:request_show) { send request_method, request_path }
|
||||||
subject { response }
|
subject { response }
|
||||||
|
|
||||||
before { request_show }
|
before { request_show }
|
||||||
@ -28,5 +29,11 @@ describe 'API sounds' do
|
|||||||
expect(response.body).to be_empty
|
expect(response.body).to be_empty
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'when sound is requested by SHA256 digest' do
|
||||||
|
let(:request_path) { api_sound_path id: sound.sha256 }
|
||||||
|
|
||||||
|
it { is_expected.to have_http_status 200 }
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user