jam-cloud/web/spec/managers/music_session_manager_spec.rb

54 lines
2.2 KiB
Ruby
Raw Normal View History

require 'spec_helper'
describe MusicSessionManager do
2014-05-06 22:50:41 +00:00
let (:music_session) { FactoryGirl.create(:music_session) }
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"}]
@connection = FactoryGirl.create(:connection, :user => @user)
end
it "creates a session properly" do
active_music_session = @music_session_manager.create(music_session, @user, @connection.client_id, "description", true, false, true, true, @band, [@genre], @tracks, true, 10)
ActiveMusicSession.find(active_music_session.id) # shouldn't throw an exception
end
it "updates a session properly" do
active_music_session = @music_session_manager.create(music_session, @user, @connection.client_id, "description", true, false, true, true, @band, [@genre], @tracks, true, 10)
@music_session_manager.update(music_session, nil, "updated description", nil, nil, nil, nil, nil, nil)
music_session.reload
music_session.description.should == "updated description"
# Verify that this didnt change
music_session.approval_required.should == false
genre2 = FactoryGirl.create(:genre)
@music_session_manager.update(music_session, nil, nil, @genre, nil, nil, nil, nil, nil)
music_session.reload
music_session.description.should == "updated description"
music_session.genre.should == @genre
end
it "deletes a session properly" do
active_music_session = @music_session_manager.create(music_session, @user, @connection.client_id, "description", true, false, true, true, @band, [@genre], @tracks, true, 10)
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
end
end
end