2012-12-16 20:26:29 +00:00
|
|
|
require 'spec_helper'
|
|
|
|
|
|
|
|
|
|
describe MusicSessionManager do
|
|
|
|
|
|
2014-05-06 22:50:41 +00:00
|
|
|
let (:music_session) { FactoryGirl.create(:music_session) }
|
2014-05-06 21:17:26 +00:00
|
|
|
|
2012-12-16 20:26:29 +00:00
|
|
|
before(:each) do
|
|
|
|
|
@music_session_manager = MusicSessionManager.new(:conn => @conn)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
describe "manage session" do
|
|
|
|
|
|
|
|
|
|
before(:each) do
|
|
|
|
|
@user = FactoryGirl.create(:user, :musician => true)
|
|
|
|
|
@band = FactoryGirl.create(:band)
|
|
|
|
|
@genre = FactoryGirl.create(:genre)
|
|
|
|
|
@instrument = FactoryGirl.create(:instrument)
|
2013-11-16 04:35:40 +00:00
|
|
|
@tracks = [{"instrument_id" => @instrument.id, "sound" => "mono", "client_track_id" => "abcd"}]
|
2012-12-16 20:26:29 +00:00
|
|
|
@connection = FactoryGirl.create(:connection, :user => @user)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
it "creates a session properly" do
|
2014-06-09 20:43:16 +00:00
|
|
|
active_music_session = @music_session_manager.create(music_session, @user, @connection.client_id, "description", true, false, true, true, @band, [@genre], @tracks, true, 10)
|
2012-12-16 20:26:29 +00:00
|
|
|
|
2014-05-06 21:17:26 +00:00
|
|
|
ActiveMusicSession.find(active_music_session.id) # shouldn't throw an exception
|
2012-12-16 20:26:29 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
|
|
it "updates a session properly" do
|
2014-06-09 20:43:16 +00:00
|
|
|
active_music_session = @music_session_manager.create(music_session, @user, @connection.client_id, "description", true, false, true, true, @band, [@genre], @tracks, true, 10)
|
2014-06-25 21:54:31 +00:00
|
|
|
@music_session_manager.update(music_session, nil, "updated description", nil, nil, nil, nil, nil, nil)
|
2012-12-16 20:26:29 +00:00
|
|
|
music_session.reload
|
|
|
|
|
music_session.description.should == "updated description"
|
|
|
|
|
# Verify that this didnt change
|
|
|
|
|
music_session.approval_required.should == false
|
|
|
|
|
genre2 = FactoryGirl.create(:genre)
|
2014-06-25 21:54:31 +00:00
|
|
|
@music_session_manager.update(music_session, nil, nil, @genre, nil, nil, nil, nil, nil)
|
2012-12-16 20:26:29 +00:00
|
|
|
music_session.reload
|
|
|
|
|
music_session.description.should == "updated description"
|
2014-05-06 21:17:26 +00:00
|
|
|
music_session.genre.should == @genre
|
2012-12-16 20:26:29 +00:00
|
|
|
end
|
|
|
|
|
|
2013-07-23 20:23:37 +00:00
|
|
|
it "deletes a session properly" do
|
2014-06-09 20:43:16 +00:00
|
|
|
active_music_session = @music_session_manager.create(music_session, @user, @connection.client_id, "description", true, false, true, true, @band, [@genre], @tracks, true, 10)
|
2014-05-06 21:17:26 +00:00
|
|
|
music_session = MusicSession.find_by_music_session_id(active_music_session.id)
|
|
|
|
|
music_session.should_not be_nil
|
|
|
|
|
active_music_session.destroy
|
|
|
|
|
music_session.reload
|
|
|
|
|
music_session.session_removed_at.should_not == nil
|
2013-07-23 20:23:37 +00:00
|
|
|
end
|
|
|
|
|
|
2012-12-16 20:26:29 +00:00
|
|
|
end
|
|
|
|
|
|
2013-07-23 20:23:37 +00:00
|
|
|
end
|