* adding tests for share_resolver

This commit is contained in:
Seth Call 2014-02-06 21:53:19 +00:00
parent 7e1d5c1e4e
commit 47694c5f52
4 changed files with 58 additions and 9 deletions

View File

@ -130,8 +130,9 @@ FactoryGirl.define do
end
factory :instrument, :class => JamRuby::Instrument do
description { |n| "Instrument #{n}" }
end
factory :recording, :class => JamRuby::Recording do
association :owner, factory: :user

View File

@ -1,14 +1,28 @@
require 'spec_helper'
describe SharedTokenController do
describe ShareTokensController do
render_views
let(:user) { FactoryGirl.create(:user) }
let(:music_session) {FactoryGirl.create(:music_session, user: user) }
let(:music_session) {FactoryGirl.create(:music_session, creator: user) }
let(:claimed_recording) {FactoryGirl.create(:claimed_recording) }
it "resolves music session" do
music_session.touch
get :shareable_resolver, :id => ShareToken.find_by_shareable_id!(music_session.id).token
get :shareable_resolver, :id => music_session.music_session_history.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
get :shareable_resolver, :id => claimed_recording.share_token.token
location_header = response.headers["Location"]
location_header.should == recording_detail_url(claimed_recording.id)
end
end

View File

@ -60,6 +60,7 @@ FactoryGirl.define do
musician_access true
legal_terms true
genres [JamRuby::Genre.first]
association :creator, :factory => :user
after(:create) { |session|
MusicSessionHistory.save(session)
@ -120,20 +121,52 @@ FactoryGirl.define do
priority 0
end
factory :recording, :class => JamRuby::Recording do
end
factory :track, :class => JamRuby::Track do
sound "mono"
sequence(:client_track_id) { |n| "client_track_id_seq_#{n}"}
end
factory :recorded_track, :class => JamRuby::RecordedTrack do
instrument JamRuby::Instrument.first
sound 'stereo'
sequence(:client_id) { |n| "client_id-#{n}"}
sequence(:track_id) { |n| "track_id-#{n}"}
sequence(:client_track_id) { |n| "client_track_id-#{n}"}
md5 'abc'
length 1
fully_uploaded true
association :user, factory: :user
association :recording, factory: :recording
end
factory :recording, :class => JamRuby::Recording do
association :owner, factory: :user
association :music_session, factory: :music_session
factory :recording_with_track do
before(:create) { |recording|
recording.recorded_tracks << FactoryGirl.create(:recorded_track, recording: recording, user: recording.owner)
}
end
end
factory :claimed_recording, :class => JamRuby::ClaimedRecording do
sequence(:name) { |n| "name-#{n}" }
sequence(:description) { |n| "description-#{n}" }
is_public true
is_downloadable true
association :genre, factory: :genre
association :user, factory: :user
before(:create) { |claimed_recording|
claimed_recording.recording = FactoryGirl.create(:recording_with_track, owner: claimed_recording.user)
}
end
factory :geocoder, :class => JamRuby::MaxMindGeo do
country 'US'
sequence(:region) { |n| ['NC', 'CA'][(n-1).modulo(2)] }

View File

@ -26,6 +26,7 @@ include JamRuby
# put ActionMailer into test mode
ActionMailer::Base.delivery_method = :test
RecordedTrack.observers.disable :all # only a few tests want this observer active
Spork.prefork do