40 lines
1.1 KiB
Ruby
40 lines
1.1 KiB
Ruby
require 'spec_helper'
|
|
require 'securerandom'
|
|
|
|
describe ShareTokensController, type: :controller do
|
|
render_views
|
|
|
|
let(:user) { FactoryBot.create(:user) }
|
|
let(:music_session) {FactoryBot.create(:active_music_session, creator: user) }
|
|
let(:claimed_recording) {FactoryBot.create(:claimed_recording) }
|
|
|
|
it "resolves music session" do
|
|
music_session.touch
|
|
share_token = ShareToken.create!(
|
|
token: SecureRandom.hex(7),
|
|
shareable_id: music_session.music_session.id,
|
|
shareable_type: "session"
|
|
)
|
|
get :shareable_resolver, params: { :id => share_token.token }
|
|
|
|
location_header = response.headers["Location"]
|
|
location_header.should == music_session_detail_url(music_session.id)
|
|
|
|
end
|
|
|
|
it "resolves claimed recording" do
|
|
claimed_recording.touch
|
|
share_token = ShareToken.create!(
|
|
token: SecureRandom.hex(7),
|
|
shareable_id: claimed_recording.id,
|
|
shareable_type: "recording"
|
|
)
|
|
get :shareable_resolver, params: { :id => share_token.token }
|
|
|
|
location_header = response.headers["Location"]
|
|
location_header.should == recording_detail_url(claimed_recording.id)
|
|
|
|
end
|
|
|
|
end
|