diff --git a/lib/jam_ruby/connection_manager.rb b/lib/jam_ruby/connection_manager.rb index 38f2c15d8..82176e0cc 100644 --- a/lib/jam_ruby/connection_manager.rb +++ b/lib/jam_ruby/connection_manager.rb @@ -304,7 +304,7 @@ SQL # end end - def leave_music_session(user, client_id, music_session) + def leave_music_session(user, connection, music_session) ConnectionManager.active_record_transaction do |connection_manager| conn = connection_manager.pg_conn @@ -313,6 +313,7 @@ SQL music_session_id = music_session.id user_id = user.id + client_id = connection.client_id previous_music_session_id = check_already_session(conn, client_id) diff --git a/spec/jam_ruby/connection_manager_spec.rb b/spec/jam_ruby/connection_manager_spec.rb index 9ddcf716b..0a4b45a4c 100644 --- a/spec/jam_ruby/connection_manager_spec.rb +++ b/spec/jam_ruby/connection_manager_spec.rb @@ -275,10 +275,11 @@ describe ConnectionManager do @connman.create_connection(user_id, client_id, "1.1.1.1") @connman.create_connection(user_id2, client_id2, "1.1.1.1") + music_session_id = create_music_session(user_id) + user = User.find(user_id) music_session = MusicSession.find(music_session_id) - music_session_id = create_music_session(user_id) @connman.join_music_session(user, client_id, music_session, true, TRACKS) user = User.find(user_id2) @@ -317,7 +318,7 @@ describe ConnectionManager do user = User.find(musician_id) music_session = MusicSession.find(music_session_id) - @connman.join_music_session(musician, musician_client_id, music_session, true, TRACKS) + @connman.join_music_session(user, musician_client_id, music_session, true, TRACKS) # now join the session as a fan, bt fan_access = false user = User.find(fan_id) @@ -376,9 +377,9 @@ describe ConnectionManager do user = User.find(user_id) dummy_music_session = MusicSession.new - @connman.create_connection(user_id, client_id, "1.1.1.1") + connection = @connman.create_connection(user_id, client_id, "1.1.1.1") - expect { @connman.leave_music_session(user, client_id, dummy_music_session) }.to raise_error(JamRuby::StateError) + expect { @connman.leave_music_session(user, connection, dummy_music_session) }.to raise_error(JamRuby::StateError) end it "leave_music_session fails if in different music_session" do @@ -392,9 +393,9 @@ describe ConnectionManager do dummy_music_session = MusicSession.new - @connman.create_connection(user_id, client_id, "1.1.1.1") + connection = @connman.create_connection(user_id, client_id, "1.1.1.1") @connman.join_music_session(user, client_id, music_session, true, TRACKS) - expect { @connman.leave_music_session(user, client_id, dummy_music_session) }.to raise_error(JamRuby::StateError) + expect { @connman.leave_music_session(user, connection, dummy_music_session) }.to raise_error(JamRuby::StateError) end it "leave_music_session works" do