fix method for adding connection to music session

This commit is contained in:
Scott Comer 2014-04-28 22:38:30 -05:00
parent 26dc80436c
commit e82ae132bd
13 changed files with 51 additions and 18 deletions

View File

@ -139,7 +139,16 @@ module JamRuby
true
end
def join_the_session(music_session, as_musician)
self.music_session = music_session
self.as_musician = as_musician
self.joining_session = true
self.joined_session_at = Time.now
self.save!
end
private
def require_at_least_one_track_when_in_session
if tracks.count == 0
errors.add(:tracks, ValidationMessages::SELECT_AT_LEAST_ONE)

View File

@ -19,8 +19,9 @@ describe ClaimedRecording do
@instrument = FactoryGirl.create(:instrument, :description => 'a great instrument')
@track = FactoryGirl.create(:track, :connection => @connection, :instrument => @instrument)
@music_session = FactoryGirl.create(:music_session, :creator => @user, :musician_access => true)
@music_session.connections << @connection
# @music_session.connections << @connection
@music_session.save
@connection.join_the_session(@music_session, true)
@recording = Recording.start(@music_session, @user)
@recording.stop
@recording.reload

View File

@ -1,6 +1,6 @@
require 'spec_helper'
describe Connection do
describe JamRuby::Connection do
let(:user) { FactoryGirl.create(:user) }
let (:music_session) { FactoryGirl.create(:music_session, :creator => user) }

View File

@ -8,8 +8,9 @@ describe Mix do
@instrument = FactoryGirl.create(:instrument, :description => 'a great instrument')
@track = FactoryGirl.create(:track, :connection => @connection, :instrument => @instrument)
@music_session = FactoryGirl.create(:music_session, :creator => @user, :musician_access => true)
@music_session.connections << @connection
# @music_session.connections << @connection
@music_session.save
@connection.join_the_session(@music_session, true)
@recording = Recording.start(@music_session, @user)
@recording.stop
@recording.claim(@user, "name", "description", Genre.first, true)

View File

@ -396,8 +396,9 @@ describe MusicSession do
@instrument = FactoryGirl.create(:instrument, :description => 'a great instrument')
@track = FactoryGirl.create(:track, :connection => @connection, :instrument => @instrument)
@music_session = FactoryGirl.create(:music_session, :creator => @user1, :musician_access => true)
@music_session.connections << @connection
@music_session.save
# @music_session.connections << @connection
@music_session.save!
@connection.join_the_session(@music_session, true)
end
describe "not recording" do

View File

@ -113,8 +113,9 @@ describe 'Musician search' do
instrument = FactoryGirl.create(:instrument, :description => 'a great instrument')
track = FactoryGirl.create(:track, :connection => connection, :instrument => instrument)
music_session = FactoryGirl.create(:music_session, :creator => usr, :musician_access => true)
music_session.connections << connection
# music_session.connections << connection
music_session.save
connection.join_the_session(music_session, true)
recording = Recording.start(music_session, usr)
recording.stop
recording.reload
@ -127,8 +128,9 @@ describe 'Musician search' do
def make_session(usr)
connection = FactoryGirl.create(:connection, :user => usr)
music_session = FactoryGirl.create(:music_session, :creator => usr, :musician_access => true)
music_session.connections << connection
# music_session.connections << connection
music_session.save
connection.join_the_session(music_session, true)
end
context 'musician stat counters' do

View File

@ -79,8 +79,9 @@ describe Recording do
@instrument2 = FactoryGirl.create(:instrument, :description => 'a great instrument')
@track2 = FactoryGirl.create(:track, :connection => @connection2, :instrument => @instrument2)
@music_session.connections << @connection2
# @music_session.connections << @connection2
@connection2.join_the_session(@music_session, true)
@recording = Recording.start(@music_session, @user)
@user.recordings.length.should == 0
#@user.recordings.first.should == @recording
@ -176,8 +177,9 @@ describe Recording do
@user2 = FactoryGirl.create(:user)
@connection2 = FactoryGirl.create(:connection, :user => @user2)
@track = FactoryGirl.create(:track, :connection => @connection2, :instrument => @instrument)
@music_session.connections << @connection2
# @music_session.connections << @connection2
@music_session.save
@connection2.join_the_session(@music_session, true)
@recording = Recording.start(@music_session, @user)
@recording.stop
@recording.reload

View File

@ -155,8 +155,9 @@ describe AudioMixer do
@instrument = FactoryGirl.create(:instrument, :description => 'a great instrument')
@track = FactoryGirl.create(:track, :connection => @connection, :instrument => @instrument)
@music_session = FactoryGirl.create(:music_session, :creator => @user, :musician_access => true)
@music_session.connections << @connection
# @music_session.connections << @connection
@music_session.save
@connection.join_the_session(@music_session, true)
@recording = Recording.start(@music_session, @user)
@recording.stop
@recording.claim(@user, "name", "description", Genre.first, true)

View File

@ -9,8 +9,9 @@ describe ApiClaimedRecordingsController do
@instrument = FactoryGirl.create(:instrument, :description => 'a great instrument')
@track = FactoryGirl.create(:track, :connection => @connection, :instrument => @instrument)
@music_session = FactoryGirl.create(:music_session, :creator => @user, :musician_access => true)
@music_session.connections << @connection
# @music_session.connections << @connection
@music_session.save
@connection.join_the_session(@music_session, true)
@recording = Recording.start(@music_session, @user)
@recording.stop
@recording.reload

View File

@ -61,7 +61,13 @@ describe "social metadata" do
let(:connection) { FactoryGirl.create(:connection, :user => user) }
let(:instrument) { FactoryGirl.create(:instrument, :description => 'a great instrument') }
let(:track) { FactoryGirl.create(:track, :connection => connection, :instrument => instrument) }
let(:music_session) { ms = FactoryGirl.create(:music_session, :creator => user, :musician_access => true); ms.connections << connection; ms.save!; ms }
let(:music_session) {
ms = FactoryGirl.create(:music_session, :creator => user, :musician_access => true)
# ms.connections << connection
ms.save!
connection.join_the_session(ms, true)
ms
}
it "renders facebook metadata" do
visit "/sessions/#{music_session.id}"
@ -85,8 +91,9 @@ describe "social metadata" do
@instrument = FactoryGirl.create(:instrument, :description => 'a great instrument')
@track = FactoryGirl.create(:track, :connection => @connection, :instrument => @instrument)
@music_session = FactoryGirl.create(:music_session, :creator => @user, :musician_access => true)
@music_session.connections << @connection
# @music_session.connections << @connection
@music_session.save
@connection.join_the_session(@music_session, true)
@recording = Recording.start(@music_session, @user)
@recording.stop
@recording.reload

View File

@ -8,8 +8,9 @@ describe MusicSessionHelper do
@instrument = FactoryGirl.create(:instrument, :description => 'a great instrument')
@track = FactoryGirl.create(:track, :connection => @connection, :instrument => @instrument)
@music_session = FactoryGirl.create(:music_session, :creator => @user, :musician_access => true)
@music_session.connections << @connection
# @music_session.connections << @connection
@music_session.save
@connection.join_the_session(@music_session, true)
@recording = Recording.start(@music_session, @user)
@recording.stop
@recording.reload

View File

@ -698,8 +698,9 @@ describe "Music Session API ", :type => :api do
connection = FactoryGirl.create(:connection, :user => user)
track = FactoryGirl.create(:track, :connection => connection, :instrument => Instrument.first)
music_session = FactoryGirl.create(:music_session, :creator => user, :musician_access => true)
music_session.connections << connection
# music_session.connections << connection
music_session.save
connection.join_the_session(music_session, true)
recording = Recording.start(music_session, user)
recording.stop
recording.reload

View File

@ -981,7 +981,12 @@ describe "User API", :type => :api do
let(:connection) { FactoryGirl.create(:connection, :user => user) }
let(:instrument) { FactoryGirl.create(:instrument, :description => 'a great instrument') }
let(:track) { FactoryGirl.create(:track, :connection => connection, :instrument => instrument) }
let(:music_session) { ms = FactoryGirl.create(:music_session, :creator => user, :musician_access => true); ms.connections << connection; ms.save!; ms }
let(:music_session) {
ms = FactoryGirl.create(:music_session, :creator => user, :musician_access => true)
# ms.connections << connection
ms.save!
connection.join_the_session(ms, true)
ms }
it "fetches facebook successfully" do
login(user.email, user.password, 200, true)
@ -1115,8 +1120,9 @@ describe "User API", :type => :api do
@instrument = FactoryGirl.create(:instrument, :description => 'a great instrument')
@track = FactoryGirl.create(:track, :connection => @connection, :instrument => @instrument)
@music_session = FactoryGirl.create(:music_session, :creator => user, :musician_access => true)
@music_session.connections << @connection
# @music_session.connections << @connection
@music_session.save
@connection.join_the_session(@music_session, true)
@recording = Recording.start(@music_session, user)
@recording.stop
@recording.reload