jam-cloud/web/spec/controllers/share_tokens_controller_spe...

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