VRFS-933 fix issues

This commit is contained in:
Brian Smith 2014-01-04 12:35:15 -05:00
parent 8b87b11f4d
commit 1b3fdee99e
8 changed files with 52 additions and 52 deletions

View File

@ -179,7 +179,7 @@ module JamRuby
# stops any active recording
def stop_recording(user)
current_recording = self.recording
current_recording.stop(user) unless current_recording.nil?
current_recording.stop unless current_recording.nil?
end
def to_s

View File

@ -40,7 +40,7 @@ module JamRuby
end
# Start recording a session.
def self.start(music_session, owner)
def self.start(music_session)
recording = nil
# Use a transaction and lock to avoid races.
music_session.with_lock do
@ -65,7 +65,7 @@ module JamRuby
end
# Stop recording a session
def stop(owner)
def stop
# Use a transaction and lock to avoid races.
music_session = MusicSession.find_by_id(music_session_id)
locker = music_session.nil? ? self : music_session
@ -75,8 +75,8 @@ module JamRuby
self.save
end
connection = Connection.where(:user_id => owner.id).where(:music_session_id => music_session.id).first
Notification.send_recording_ended(music_session, connection, owner)
connection = Connection.where(:user_id => self.owner.id).where(:music_session_id => music_session.id).first
Notification.send_recording_ended(music_session, connection, self.owner)
self
end

View File

@ -19,7 +19,7 @@ describe ClaimedRecording do
@music_session = FactoryGirl.create(:music_session, :creator => @user, :musician_access => true)
@music_session.connections << @connection
@music_session.save
@recording = Recording.start(@music_session, @user)
@recording = Recording.start(@music_session)
@recording.stop
@recording.reload
@genre = FactoryGirl.create(:genre)

View File

@ -9,9 +9,9 @@ describe Mix do
@music_session = FactoryGirl.create(:music_session, :creator => @user, :musician_access => true)
@music_session.connections << @connection
@music_session.save
@recording = Recording.start(@music_session, @user)
@recording.stop(@user)
@recording.claim(@user, "name", "description", Genre.first, true, true)
@recording = Recording.start(@music_session)
@recording.stop
@recording.claim(@user, "name", "description", Genre.first, true, true)
@mix = Mix.schedule(@recording, "{}")
end

View File

@ -65,8 +65,8 @@ describe 'Musician search' do
music_session = FactoryGirl.create(:music_session, :creator => usr, :musician_access => true)
music_session.connections << connection
music_session.save
recording = Recording.start(music_session, usr)
recording.stop(usr)
recording = Recording.start(music_session)
recording.stop
recording.reload
genre = FactoryGirl.create(:genre)
recording.claim(usr, "name", "description", genre, true, true)

View File

@ -16,7 +16,7 @@ describe Recording do
connection2 = FactoryGirl.create(:connection, :user => user2, :music_session => @music_session)
track2 = FactoryGirl.create(:track, :connection => connection2, :instrument => @instrument)
@recording = Recording.start(@music_session, @user)
@recording = Recording.start(@music_session)
user1_recorded_tracks = @recording.recorded_tracks_for_user(@user)
user1_recorded_tracks[0].should == @user.recorded_tracks[0]
user1_recorded_tracks.length.should == 1
@ -31,7 +31,7 @@ describe Recording do
it "should set up the recording properly when recording is started with 1 user in the session" do
@music_session.is_recording?.should be_false
@recording = Recording.start(@music_session, @user)
@recording = Recording.start(@music_session)
@music_session.reload
@music_session.recordings[0].should == @recording
@recording.owner_id.should == @user.id
@ -43,33 +43,33 @@ describe Recording do
end
it "should not start a recording if the session is already being recorded" do
Recording.start(@music_session, @user).errors.any?.should be_false
recording = Recording.start(@music_session, @user)
Recording.start(@music_session).errors.any?.should be_false
recording = Recording.start(@music_session)
recording.valid?.should_not be_true
recording.errors[:music_session].should_not be_nil
end
it "should return the state to normal properly when you stop a recording" do
@recording = Recording.start(@music_session, @user)
@recording.stop(@user)
@recording = Recording.start(@music_session)
@recording.stop
@music_session.reload
@music_session.is_recording?.should be_false
end
it "should error when you stop a recording twice" do
@recording = Recording.start(@music_session, @user)
@recording.stop(@user)
@recording = Recording.start(@music_session)
@recording.stop
@recording.errors.any?.should be_false
@recording.stop(@user)
@recording.stop
@recording.errors.any?.should be_true
end
it "should be able to start, stop then start a recording again for the same music session" do
@recording = Recording.start(@music_session, @user)
@recording.stop(@user)
@recording2 = Recording.start(@music_session, @user)
@recording = Recording.start(@music_session)
@recording.stop
@recording2 = Recording.start(@music_session)
@music_session.recordings.exists?(@recording2).should be_true
end
@ -81,7 +81,7 @@ describe Recording do
@music_session.connections << @connection2
@recording = Recording.start(@music_session, @user)
@recording = Recording.start(@music_session)
@user.recordings.length.should == 0
#@user.recordings.first.should == @recording
@ -90,9 +90,9 @@ describe Recording do
end
it "should report correctly whether its tracks have been uploaded" do
@recording = Recording.start(@music_session, @user)
@recording = Recording.start(@music_session)
@recording.uploaded?.should == false
@recording.stop(@user)
@recording.stop
@recording.reload
@recording.uploaded?.should == false
@recording.recorded_tracks.first.fully_uploaded = true
@ -100,8 +100,8 @@ describe Recording do
end
it "should destroy a recording and all its recorded tracks properly" do
@recording = Recording.start(@music_session, @user)
@recording.stop(@user)
@recording = Recording.start(@music_session)
@recording.stop
@recording.reload
@recorded_track = @recording.recorded_tracks.first
@recording.destroy
@ -110,8 +110,8 @@ describe Recording do
end
it "should allow a user to claim a recording" do
@recording = Recording.start(@music_session, @user)
@recording.stop(@user)
@recording = Recording.start(@music_session)
@recording.stop
@recording.reload
@genre = FactoryGirl.create(:genre)
@recording.claim(@user, "name", "description", @genre, true, true)
@ -130,16 +130,16 @@ describe Recording do
end
it "should fail if a user who was not in the session claims a recording" do
@recording = Recording.start(@music_session, @user)
@recording.stop(@user)
@recording = Recording.start(@music_session)
@recording.stop
@recording.reload
user2 = FactoryGirl.create(:user)
expect { @recording.claim(user2, "name", "description", @genre, true, true) }.to raise_error
end
it "should allow editing metadata for claimed recordings" do
@recording = Recording.start(@music_session, @user)
@recording.stop(@user)
@recording = Recording.start(@music_session)
@recording.stop
@recording.reload
@genre = FactoryGirl.create(:genre)
@claimed_recording = @recording.claim(@user, "name", "description", @genre, true, true)
@ -154,8 +154,8 @@ describe Recording do
end
it "should only allow the owner to edit a claimed recording" do
@recording = Recording.start(@music_session, @user)
@recording.stop(@user)
@recording = Recording.start(@music_session)
@recording.stop
@recording.reload
@genre = FactoryGirl.create(:genre)
@claimed_recording = @recording.claim(@user, "name", "description", @genre, true, true)
@ -164,9 +164,9 @@ describe Recording do
end
it "should record the duration of the recording properly" do
@recording = Recording.start(@music_session, @user)
@recording = Recording.start(@music_session)
@recording.duration.should be_nil
@recording.stop(@user)
@recording.stop
@recording.reload
@recording.duration.should_not be_nil
# Note: it will be 0 since this was fast. You can see something non-zero by just
@ -180,8 +180,8 @@ describe Recording do
@track = FactoryGirl.create(:track, :connection => @connection2, :instrument => @instrument)
@music_session.connections << @connection2
@music_session.save
@recording = Recording.start(@music_session, @user)
@recording.stop(@user)
@recording = Recording.start(@music_session)
@recording.stop
@recording.reload
@genre = FactoryGirl.create(:genre)
@claimed_recording = @recording.claim(@user, "name", "description", @genre, true, true)
@ -193,8 +193,8 @@ describe Recording do
end
it "should destroy the entire recording if there was only one claimed_recording which is discarded" do
@recording = Recording.start(@music_session, @user)
@recording.stop(@user)
@recording = Recording.start(@music_session)
@recording.stop
@recording.reload
@genre = FactoryGirl.create(:genre)
@claimed_recording = @recording.claim(@user, "name", "description", @genre, true, true)
@ -205,8 +205,8 @@ describe Recording do
it "should use the since parameter when restricting uploads" do
stub_const("APP_CONFIG", app_config)
@recording = Recording.start(@music_session, @user)
@recording.stop(@user)
@recording = Recording.start(@music_session)
@recording.stop
@recording.reload
@genre = FactoryGirl.create(:genre)
@recording.claim(@user, "Recording", "Recording Description", @genre, true, true)
@ -216,7 +216,7 @@ describe Recording do
end
it "should return a download only if claimed" do
@recording = Recording.start(@music_session, @user)
@recording = Recording.start(@music_session)
@recording.stop
@recording.reload
@genre = FactoryGirl.create(:genre)
@ -232,8 +232,8 @@ describe Recording do
it "should return a file list for a user properly" do
pending
stub_const("APP_CONFIG", app_config)
@recording = Recording.start(@music_session, @user)
@recording.stop(@user)
@recording = Recording.start(@music_session)
@recording.stop
@recording.reload
@genre = FactoryGirl.create(:genre)
@recording.claim(@user, "Recording", "Recording Description", @genre, true, true)
@ -277,9 +277,9 @@ describe Recording do
@track2 = FactoryGirl.create(:track, :connection => @connection2, :instrument => @instrument2)
@music_session.connections << @connection2
@music_session.save
@recording = Recording.start(@music_session, @user)
@recording = Recording.start(@music_session)
#sleep 4
@recording.stop(@user)
@recording.stop
@recording.recorded_tracks.length.should == 2
@recorded_track = @recording.recorded_tracks.first
@recorded_track.upload_start(25000, "md5hash")

View File

@ -46,7 +46,7 @@ class ApiRecordingsController < ApiController
raise PermissionError, ValidationMessages::PERMISSION_VALIDATION_ERROR unless music_session.users.exists?(current_user)
@recording = Recording.start(music_session, current_user)
@recording = Recording.start(music_session)
if @recording.errors.any?
response.status = :unprocessable_entity
@ -58,7 +58,7 @@ class ApiRecordingsController < ApiController
def stop
@recording.stop(current_user)
@recording.stop
if @recording.errors.any?
response.status = :unprocessable_entity

View File

@ -12,7 +12,7 @@ describe ApiClaimedRecordingsController do
@music_session.connections << @connection
@music_session.save
@recording = Recording.start(@music_session, @user)
@recording.stop(@user)
@recording.stop
@recording.reload
@genre = FactoryGirl.create(:genre)
@recording.claim(@user, "name", "description", @genre, true, true)