* wip
This commit is contained in:
parent
ca9e3706c7
commit
4a7d6925da
|
|
@ -22,7 +22,7 @@ module JamRuby
|
|||
belongs_to :band, :class_name => "JamRuby::Band", :inverse_of => :recordings
|
||||
belongs_to :music_session, :class_name => "JamRuby::ActiveMusicSession", :inverse_of => :recordings, foreign_key: :music_session_id
|
||||
belongs_to :jam_track, :class_name => "JamRuby::JamTrack", :inverse_of => :recordings, :foreign_key => 'jam_track_id'
|
||||
belongs_to :jam_track_initiator, :class_name => "JamRuby::User", :inverse_of => :recorded_jam_tracks, :foreign_key => 'jam_track_initiator_id'
|
||||
belongs_to :jam_track_initiator, :class_name => "JamRuby::User", :inverse_of => :initiated_jam_track_recordings, :foreign_key => 'jam_track_initiator_id'
|
||||
|
||||
accepts_nested_attributes_for :recorded_tracks, :mixes, :claimed_recordings, allow_destroy: true
|
||||
|
||||
|
|
@ -229,7 +229,7 @@ module JamRuby
|
|||
|
||||
if music_session.jam_track
|
||||
music_session.jam_track.jam_track_tracks.each do |jam_track_track|
|
||||
recording.recorded_jam_tracks << RecordedJamTrack.create_from_jam_track_track(jam_track_track, recording)
|
||||
recording.recorded_jam_track_tracks << RecordedJamTrackTrack.create_from_jam_track_track(jam_track_track, recording)
|
||||
end
|
||||
recording.jam_track = music_session.jam_track
|
||||
recording.jam_track_initiator = music_session.jam_track_initiator
|
||||
|
|
|
|||
|
|
@ -101,13 +101,25 @@
|
|||
}
|
||||
|
||||
$playButton.on('click', function(e) {
|
||||
startPlay();
|
||||
var sessionModel = context.JK.CurrentSessionModel || null;
|
||||
if(sessionModel && sessionModel.areControlsLockedForJamTrackRecording() && $parentElement.closest('.session-track').data('track_data').type == 'jam_track') {
|
||||
context.JK.prodBubble($fader, 'jamtrack-controls-disabled', {}, {positions:['top'], offsetParent: $playButton})
|
||||
return false;
|
||||
}
|
||||
|
||||
startPlay();
|
||||
return false;
|
||||
});
|
||||
|
||||
$pauseButton.on('click', function(e) {
|
||||
stopPlay();
|
||||
var sessionModel = context.JK.CurrentSessionModel || null;
|
||||
if(sessionModel && sessionModel.areControlsLockedForJamTrackRecording() && $parentElement.closest('.session-track').data('track_data').type == 'jam_track') {
|
||||
context.JK.prodBubble($pauseButton, 'jamtrack-controls-disabled', {}, {positions:['top'], offsetParent: $pauseButton})
|
||||
return false;
|
||||
}
|
||||
|
||||
stopPlay();
|
||||
return false;
|
||||
});
|
||||
|
||||
$sliderBar.on('click', function(e) {
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ node :mix do |claimed_recording|
|
|||
end
|
||||
|
||||
child(:recording => :recording) {
|
||||
attributes :id, :created_at, :duration, :comment_count, :like_count, :play_count
|
||||
attributes :id, :created_at, :duration, :comment_count, :like_count, :play_count, :jam_track_id, :jam_track_initiator_id
|
||||
|
||||
child(:band => :band) {
|
||||
attributes :id, :name, :location, :photo_url
|
||||
|
|
@ -50,6 +50,15 @@ child(:recording => :recording) {
|
|||
end
|
||||
}
|
||||
|
||||
child(:recorded_jam_track_tracks => :recorded_jam_track_tracks) {
|
||||
node do |recorded_jam_track_track|
|
||||
{
|
||||
id: recorded_jam_track_track.jam_track_track.id,
|
||||
timeline: recorded_jam_track_track.timeline ? JSON.parse(recorded_jam_track_track.timeline) : []
|
||||
}
|
||||
end
|
||||
}
|
||||
|
||||
child(:comments => :comments) {
|
||||
attributes :comment, :created_at
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
object @recording
|
||||
|
||||
attributes :id, :band, :created_at, :duration, :comment_count, :like_count, :play_count, :when_will_be_discarded?
|
||||
attributes :id, :band, :created_at, :duration, :comment_count, :like_count, :play_count, :when_will_be_discarded?, :jam_track_id, :jam_track_initiator_id
|
||||
|
||||
node :mix do |recording|
|
||||
if recording.mix
|
||||
|
|
@ -33,6 +33,15 @@ child(:recorded_backing_tracks => :recorded_backing_tracks) {
|
|||
end
|
||||
}
|
||||
|
||||
child(:recorded_jam_track_tracks => :recorded_jam_track_tracks) {
|
||||
node do |recorded_jam_track_track|
|
||||
{
|
||||
id: recorded_jam_track_track.jam_track_track.id,
|
||||
timeline: recorded_jam_track_track.timeline ? JSON.parse(recorded_jam_track_track.timeline) : []
|
||||
}
|
||||
end
|
||||
}
|
||||
|
||||
child(:comments => :comments) {
|
||||
attributes :comment, :created_at
|
||||
|
||||
|
|
|
|||
|
|
@ -3,217 +3,251 @@ require 'spec_helper'
|
|||
describe ApiRecordingsController do
|
||||
render_views
|
||||
|
||||
describe "recording with backing track" do
|
||||
|
||||
before(:each) do
|
||||
@user = FactoryGirl.create(:user)
|
||||
@instrument = FactoryGirl.create(:instrument, :description => 'a great instrument')
|
||||
@music_session = FactoryGirl.create(:active_music_session, :creator => @user, :musician_access => true)
|
||||
@connection = FactoryGirl.create(:connection, :user => @user, :music_session => @music_session)
|
||||
@track = FactoryGirl.create(:track, :connection => @connection, :instrument => @instrument)
|
||||
@backing_track = FactoryGirl.create(:backing_track, :connection => @connection)
|
||||
controller.current_user = @user
|
||||
end
|
||||
|
||||
describe "start" do
|
||||
it "should work" do
|
||||
post :start, { :format => 'json', :music_session_id => @music_session.id }
|
||||
response.should be_success
|
||||
response_body = JSON.parse(response.body)
|
||||
response_body['id'].should_not be_nil
|
||||
recording = Recording.find(response_body['id'])
|
||||
before(:each) do
|
||||
@user = FactoryGirl.create(:user)
|
||||
@instrument = FactoryGirl.create(:instrument, :description => 'a great instrument')
|
||||
@music_session = FactoryGirl.create(:active_music_session, :creator => @user, :musician_access => true)
|
||||
@connection = FactoryGirl.create(:connection, :user => @user, :music_session => @music_session)
|
||||
@track = FactoryGirl.create(:track, :connection => @connection, :instrument => @instrument)
|
||||
@backing_track = FactoryGirl.create(:backing_track, :connection => @connection)
|
||||
controller.current_user = @user
|
||||
end
|
||||
|
||||
it "should not allow multiple starts" do
|
||||
post :start, { :format => 'json', :music_session_id => @music_session.id }
|
||||
post :start, { :format => 'json', :music_session_id => @music_session.id }
|
||||
response.status.should == 422
|
||||
response_body = JSON.parse(response.body)
|
||||
response_body["errors"]["music_session"][0].should == ValidationMessages::ALREADY_BEING_RECORDED
|
||||
describe "start" do
|
||||
it "should work" do
|
||||
post :start, {:format => 'json', :music_session_id => @music_session.id}
|
||||
response.should be_success
|
||||
response_body = JSON.parse(response.body)
|
||||
response_body['id'].should_not be_nil
|
||||
recording = Recording.find(response_body['id'])
|
||||
end
|
||||
|
||||
it "should not allow multiple starts" do
|
||||
post :start, {:format => 'json', :music_session_id => @music_session.id}
|
||||
post :start, {:format => 'json', :music_session_id => @music_session.id}
|
||||
response.status.should == 422
|
||||
response_body = JSON.parse(response.body)
|
||||
response_body["errors"]["music_session"][0].should == ValidationMessages::ALREADY_BEING_RECORDED
|
||||
end
|
||||
|
||||
it "should not allow start while playback ongoing" do
|
||||
recording = Recording.start(@music_session, @user)
|
||||
recording.stop
|
||||
recording.reload
|
||||
claimed_recording = recording.claim(@user, "name", "description", Genre.first, true)
|
||||
@music_session.claimed_recording_start(@user, claimed_recording)
|
||||
@music_session.errors.any?.should be_false
|
||||
post :start, {:format => 'json', :music_session_id => @music_session.id}
|
||||
response.status.should == 422
|
||||
response_body = JSON.parse(response.body)
|
||||
response_body["errors"]["music_session"][0].should == ValidationMessages::ALREADY_PLAYBACK_RECORDING
|
||||
end
|
||||
|
||||
it "should not allow start by somebody not in the music session" do
|
||||
user2 = FactoryGirl.create(:user)
|
||||
controller.current_user = user2
|
||||
post :start, {:format => 'json', :music_session_id => @music_session.id}
|
||||
response.status.should == 403
|
||||
end
|
||||
end
|
||||
|
||||
it "should not allow start while playback ongoing" do
|
||||
recording = Recording.start(@music_session, @user)
|
||||
recording.stop
|
||||
recording.reload
|
||||
claimed_recording = recording.claim(@user, "name", "description", Genre.first, true)
|
||||
@music_session.claimed_recording_start(@user, claimed_recording)
|
||||
@music_session.errors.any?.should be_false
|
||||
post :start, { :format => 'json', :music_session_id => @music_session.id }
|
||||
response.status.should == 422
|
||||
response_body = JSON.parse(response.body)
|
||||
response_body["errors"]["music_session"][0].should == ValidationMessages::ALREADY_PLAYBACK_RECORDING
|
||||
describe "get" do
|
||||
it "should work" do
|
||||
post :start, {:format => 'json', :music_session_id => @music_session.id}
|
||||
response.should be_success
|
||||
response_body = JSON.parse(response.body)
|
||||
response_body['id'].should_not be_nil
|
||||
recordingId = response_body['id']
|
||||
get :show, {:format => 'json', :id => recordingId}
|
||||
response.should be_success
|
||||
response_body = JSON.parse(response.body)
|
||||
response_body['id'].should == recordingId
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
it "should not allow start by somebody not in the music session" do
|
||||
user2 = FactoryGirl.create(:user)
|
||||
controller.current_user = user2
|
||||
post :start, { :format => 'json', :music_session_id => @music_session.id }
|
||||
response.status.should == 403
|
||||
describe "stop" do
|
||||
it "should work" do
|
||||
post :start, {:format => 'json', :music_session_id => @music_session.id}
|
||||
response_body = JSON.parse(response.body)
|
||||
recording = Recording.find(response_body['id'])
|
||||
post :stop, {:format => 'json', :id => recording.id}
|
||||
response.should be_success
|
||||
response_body = JSON.parse(response.body)
|
||||
response_body['id'].should_not be_nil
|
||||
Recording.find(response_body['id']).id.should == recording.id
|
||||
end
|
||||
|
||||
it "should not allow stop on a session not being recorded" do
|
||||
post :start, {:format => 'json', :music_session_id => @music_session.id}
|
||||
response_body = JSON.parse(response.body)
|
||||
recording = Recording.find(response_body['id'])
|
||||
post :stop, {:format => 'json', :id => recording.id}
|
||||
post :stop, {:format => 'json', :id => recording.id}
|
||||
response.status.should == 422
|
||||
response_body = JSON.parse(response.body)
|
||||
end
|
||||
|
||||
it "should not allow stop on a session requested by a different member" do
|
||||
|
||||
post :start, {:format => 'json', :music_session_id => @music_session.id}
|
||||
response_body = JSON.parse(response.body)
|
||||
recording = Recording.find(response_body['id'])
|
||||
user2 = FactoryGirl.create(:user)
|
||||
controller.current_user = user2
|
||||
post :stop, {:format => 'json', :id => recording.id}
|
||||
response.status.should == 403
|
||||
end
|
||||
end
|
||||
|
||||
describe "download track" do
|
||||
let(:mix) { FactoryGirl.create(:mix) }
|
||||
|
||||
it "should only allow a user to download a track if they have claimed the recording" do
|
||||
post :start, {:format => 'json', :music_session_id => @music_session.id}
|
||||
response_body = JSON.parse(response.body)
|
||||
recording = Recording.find(response_body['id'])
|
||||
post :stop, {:format => 'json', :id => recording.id}
|
||||
response.should be_success
|
||||
end
|
||||
|
||||
|
||||
it "is possible" do
|
||||
mix.touch
|
||||
recorded_track = mix.recording.recorded_tracks[0]
|
||||
controller.current_user = mix.recording.owner
|
||||
get :download, {id: recorded_track.recording.id, track_id: recorded_track.client_track_id}
|
||||
response.status.should == 302
|
||||
|
||||
recorded_track.reload
|
||||
recorded_track.download_count.should == 1
|
||||
|
||||
get :download, {id: recorded_track.recording.id, track_id: recorded_track.client_track_id}
|
||||
response.status.should == 302
|
||||
|
||||
recorded_track.reload
|
||||
recorded_track.download_count.should == 2
|
||||
end
|
||||
|
||||
|
||||
it "prevents download after limit is reached" do
|
||||
mix.touch
|
||||
recorded_track = mix.recording.recorded_tracks[0]
|
||||
recorded_track.download_count = APP_CONFIG.max_audio_downloads
|
||||
recorded_track.save!
|
||||
controller.current_user = recorded_track.user
|
||||
get :download, {format: 'json', id: recorded_track.recording.id, track_id: recorded_track.client_track_id}
|
||||
response.status.should == 404
|
||||
JSON.parse(response.body, symbolize_names: true)[:message].should == "download limit surpassed"
|
||||
end
|
||||
|
||||
|
||||
it "lets admins surpass limit" do
|
||||
mix.touch
|
||||
recorded_track = mix.recording.recorded_tracks[0]
|
||||
recorded_track.download_count = APP_CONFIG.max_audio_downloads
|
||||
recorded_track.save!
|
||||
recorded_track.user.admin = true
|
||||
recorded_track.user.save!
|
||||
|
||||
controller.current_user = recorded_track.user
|
||||
get :download, {format: 'json', id: recorded_track.recording.id, track_id: recorded_track.client_track_id}
|
||||
response.status.should == 302
|
||||
recorded_track.reload
|
||||
recorded_track.download_count.should == 101
|
||||
end
|
||||
end
|
||||
|
||||
describe "download backing track" do
|
||||
let(:mix) { FactoryGirl.create(:mix) }
|
||||
|
||||
it "should only allow a user to download a track if they have claimed the recording" do
|
||||
post :start, {:format => 'json', :music_session_id => @music_session.id}
|
||||
response_body = JSON.parse(response.body)
|
||||
recording = Recording.find(response_body['id'])
|
||||
post :stop, {:format => 'json', :id => recording.id}
|
||||
response.should be_success
|
||||
end
|
||||
|
||||
|
||||
it "is possible" do
|
||||
mix.touch
|
||||
recorded_track = mix.recording.recorded_tracks[0]
|
||||
controller.current_user = mix.recording.owner
|
||||
get :download, {id: recorded_track.recording.id, track_id: recorded_track.client_track_id}
|
||||
response.status.should == 302
|
||||
|
||||
recorded_track.reload
|
||||
recorded_track.download_count.should == 1
|
||||
|
||||
get :download, {id: recorded_track.recording.id, track_id: recorded_track.client_track_id}
|
||||
response.status.should == 302
|
||||
|
||||
recorded_track.reload
|
||||
recorded_track.download_count.should == 2
|
||||
end
|
||||
|
||||
|
||||
it "prevents download after limit is reached" do
|
||||
mix.touch
|
||||
recorded_track = mix.recording.recorded_tracks[0]
|
||||
recorded_track.download_count = APP_CONFIG.max_audio_downloads
|
||||
recorded_track.save!
|
||||
controller.current_user = recorded_track.user
|
||||
get :download, {format: 'json', id: recorded_track.recording.id, track_id: recorded_track.client_track_id}
|
||||
response.status.should == 404
|
||||
JSON.parse(response.body, symbolize_names: true)[:message].should == "download limit surpassed"
|
||||
end
|
||||
|
||||
|
||||
it "lets admins surpass limit" do
|
||||
mix.touch
|
||||
recorded_track = mix.recording.recorded_tracks[0]
|
||||
recorded_track.download_count = APP_CONFIG.max_audio_downloads
|
||||
recorded_track.save!
|
||||
recorded_track.user.admin = true
|
||||
recorded_track.user.save!
|
||||
|
||||
controller.current_user = recorded_track.user
|
||||
get :download, {format: 'json', id: recorded_track.recording.id, track_id: recorded_track.client_track_id}
|
||||
response.status.should == 302
|
||||
recorded_track.reload
|
||||
recorded_track.download_count.should == 101
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe "get" do
|
||||
it "should work" do
|
||||
post :start, { :format => 'json', :music_session_id => @music_session.id }
|
||||
response.should be_success
|
||||
response_body = JSON.parse(response.body)
|
||||
response_body['id'].should_not be_nil
|
||||
recordingId = response_body['id']
|
||||
get :show, {:format => 'json', :id => recordingId}
|
||||
response.should be_success
|
||||
response_body = JSON.parse(response.body)
|
||||
response_body['id'].should == recordingId
|
||||
describe "recording with jam track" do
|
||||
|
||||
before(:each) do
|
||||
@user = FactoryGirl.create(:user)
|
||||
@instrument = FactoryGirl.create(:instrument, :description => 'a great instrument')
|
||||
@music_session = FactoryGirl.create(:active_music_session, :creator => @user, :musician_access => true)
|
||||
@connection = FactoryGirl.create(:connection, :user => @user, :music_session => @music_session)
|
||||
@track = FactoryGirl.create(:track, :connection => @connection, :instrument => @instrument)
|
||||
@jam_track = FactoryGirl.create(:jam_track)
|
||||
|
||||
# make sure the jam track is opened
|
||||
@music_session.jam_track = @jam_track
|
||||
@music_session.jam_track_initiator = @user
|
||||
@music_session.save!
|
||||
controller.current_user = @user
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
describe "stop" do
|
||||
it "should work" do
|
||||
post :start, { :format => 'json', :music_session_id => @music_session.id }
|
||||
response_body = JSON.parse(response.body)
|
||||
recording = Recording.find(response_body['id'])
|
||||
post :stop, { :format => 'json', :id => recording.id }
|
||||
response.should be_success
|
||||
response_body = JSON.parse(response.body)
|
||||
response_body['id'].should_not be_nil
|
||||
Recording.find(response_body['id']).id.should == recording.id
|
||||
end
|
||||
|
||||
it "should not allow stop on a session not being recorded" do
|
||||
post :start, { :format => 'json', :music_session_id => @music_session.id }
|
||||
response_body = JSON.parse(response.body)
|
||||
recording = Recording.find(response_body['id'])
|
||||
post :stop, { :format => 'json', :id => recording.id }
|
||||
post :stop, { :format => 'json', :id => recording.id }
|
||||
response.status.should == 422
|
||||
response_body = JSON.parse(response.body)
|
||||
end
|
||||
|
||||
it "should not allow stop on a session requested by a different member" do
|
||||
|
||||
post :start, { :format => 'json', :music_session_id => @music_session.id }
|
||||
response_body = JSON.parse(response.body)
|
||||
recording = Recording.find(response_body['id'])
|
||||
user2 = FactoryGirl.create(:user)
|
||||
controller.current_user = user2
|
||||
post :stop, { :format => 'json', :id => recording.id }
|
||||
response.status.should == 403
|
||||
end
|
||||
end
|
||||
|
||||
describe "download track" do
|
||||
let(:mix) { FactoryGirl.create(:mix) }
|
||||
|
||||
it "should only allow a user to download a track if they have claimed the recording" do
|
||||
post :start, { :format => 'json', :music_session_id => @music_session.id }
|
||||
response_body = JSON.parse(response.body)
|
||||
recording = Recording.find(response_body['id'])
|
||||
post :stop, { :format => 'json', :id => recording.id }
|
||||
response.should be_success
|
||||
end
|
||||
|
||||
|
||||
it "is possible" do
|
||||
mix.touch
|
||||
recorded_track = mix.recording.recorded_tracks[0]
|
||||
controller.current_user = mix.recording.owner
|
||||
get :download, {id: recorded_track.recording.id, track_id: recorded_track.client_track_id}
|
||||
response.status.should == 302
|
||||
|
||||
recorded_track.reload
|
||||
recorded_track.download_count.should == 1
|
||||
|
||||
get :download, {id: recorded_track.recording.id, track_id: recorded_track.client_track_id}
|
||||
response.status.should == 302
|
||||
|
||||
recorded_track.reload
|
||||
recorded_track.download_count.should == 2
|
||||
end
|
||||
|
||||
|
||||
it "prevents download after limit is reached" do
|
||||
mix.touch
|
||||
recorded_track = mix.recording.recorded_tracks[0]
|
||||
recorded_track.download_count = APP_CONFIG.max_audio_downloads
|
||||
recorded_track.save!
|
||||
controller.current_user = recorded_track.user
|
||||
get :download, {format:'json', id: recorded_track.recording.id, track_id: recorded_track.client_track_id}
|
||||
response.status.should == 404
|
||||
JSON.parse(response.body, symbolize_names: true)[:message].should == "download limit surpassed"
|
||||
end
|
||||
|
||||
|
||||
it "lets admins surpass limit" do
|
||||
mix.touch
|
||||
recorded_track = mix.recording.recorded_tracks[0]
|
||||
recorded_track.download_count = APP_CONFIG.max_audio_downloads
|
||||
recorded_track.save!
|
||||
recorded_track.user.admin = true
|
||||
recorded_track.user.save!
|
||||
|
||||
controller.current_user = recorded_track.user
|
||||
get :download, {format:'json', id: recorded_track.recording.id, track_id: recorded_track.client_track_id}
|
||||
response.status.should == 302
|
||||
recorded_track.reload
|
||||
recorded_track.download_count.should == 101
|
||||
end
|
||||
end
|
||||
|
||||
describe "download backing track" do
|
||||
let(:mix) { FactoryGirl.create(:mix) }
|
||||
|
||||
it "should only allow a user to download a track if they have claimed the recording" do
|
||||
post :start, { :format => 'json', :music_session_id => @music_session.id }
|
||||
response_body = JSON.parse(response.body)
|
||||
recording = Recording.find(response_body['id'])
|
||||
post :stop, { :format => 'json', :id => recording.id }
|
||||
response.should be_success
|
||||
end
|
||||
|
||||
|
||||
it "is possible" do
|
||||
mix.touch
|
||||
recorded_track = mix.recording.recorded_tracks[0]
|
||||
controller.current_user = mix.recording.owner
|
||||
get :download, {id: recorded_track.recording.id, track_id: recorded_track.client_track_id}
|
||||
response.status.should == 302
|
||||
|
||||
recorded_track.reload
|
||||
recorded_track.download_count.should == 1
|
||||
|
||||
get :download, {id: recorded_track.recording.id, track_id: recorded_track.client_track_id}
|
||||
response.status.should == 302
|
||||
|
||||
recorded_track.reload
|
||||
recorded_track.download_count.should == 2
|
||||
end
|
||||
|
||||
|
||||
it "prevents download after limit is reached" do
|
||||
mix.touch
|
||||
recorded_track = mix.recording.recorded_tracks[0]
|
||||
recorded_track.download_count = APP_CONFIG.max_audio_downloads
|
||||
recorded_track.save!
|
||||
controller.current_user = recorded_track.user
|
||||
get :download, {format:'json', id: recorded_track.recording.id, track_id: recorded_track.client_track_id}
|
||||
response.status.should == 404
|
||||
JSON.parse(response.body, symbolize_names: true)[:message].should == "download limit surpassed"
|
||||
end
|
||||
|
||||
|
||||
it "lets admins surpass limit" do
|
||||
mix.touch
|
||||
recorded_track = mix.recording.recorded_tracks[0]
|
||||
recorded_track.download_count = APP_CONFIG.max_audio_downloads
|
||||
recorded_track.save!
|
||||
recorded_track.user.admin = true
|
||||
recorded_track.user.save!
|
||||
|
||||
controller.current_user = recorded_track.user
|
||||
get :download, {format:'json', id: recorded_track.recording.id, track_id: recorded_track.client_track_id}
|
||||
response.status.should == 302
|
||||
recorded_track.reload
|
||||
recorded_track.download_count.should == 101
|
||||
describe "start" do
|
||||
it "should work" do
|
||||
post :start, {:format => 'json', :music_session_id => @music_session.id}
|
||||
response.should be_success
|
||||
response_body = JSON.parse(response.body)
|
||||
response_body['id'].should_not be_nil
|
||||
recording = Recording.find(response_body['id'])
|
||||
recorded_jam_track_track = response_body["recorded_jam_track_tracks"][0]
|
||||
recorded_jam_track_track["id"].should eq(@jam_track.jam_track_tracks[0].id)
|
||||
recorded_jam_track_track["timeline"].should eq([])
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue