vrfs-492: fixed breaking tests for single user session

This commit is contained in:
Jonathan Kolyer 2013-10-15 08:35:11 -05:00
parent 90160381b6
commit c9618ba816
1 changed files with 73 additions and 0 deletions

View File

@ -0,0 +1,73 @@
require 'spec_helper'
describe "Music Session", :js => true, :type => :feature, :capybara_feature => true do
subject { page }
before(:all) do
Capybara.javascript_driver = :poltergeist
Capybara.current_driver = Capybara.javascript_driver
Capybara.default_wait_time = 10
end
let(:user) { FactoryGirl.create(:user) }
before(:each) do
UserMailer.deliveries.clear
@user = user
sign_in_poltergeist @user
visit "/#/createSession"
within('#create-session-form') do
fill_in('description', :with => 'foobar')
select('Ambient', :from => 'genres')
check('intellectual-property')
click_link('btn-create-session')
end
end
describe "last person cleanly leaves session", :slow => true do
it "should update music session and user session history" do
should have_link('session-leave')
click_link('session-leave')
# add a buffer of 10% to ensure we have enough time
sleep_dur = (Rails.application.config.websocket_gateway_connect_time_stale +
Rails.application.config.websocket_gateway_connect_time_expire) * 1.1
sleep sleep_dur
user.reload
user.music_session_histories.count.should be == 1
user.music_session_user_histories.count.should be == 1
user.music_session_histories[0].session_removed_at.should_not be_nil
user.music_session_user_histories[0].session_removed_at.should_not be_nil
end
end
describe "last person abruptly leaves session", :slow => true do
it "should delete connection and update music session and user session history" do
should have_link('session-leave')
page.evaluate_script("JK.JamServer.close(true)")
# add a buffer of 10% to ensure we have enough time
sleep_dur = (Rails.application.config.websocket_gateway_connect_time_stale +
Rails.application.config.websocket_gateway_connect_time_expire) * 1.1
sleep sleep_dur
user.reload
user.connections.count.should be == 0
user.music_session_histories.count.should be == 1
user.music_session_user_histories.count.should be == 1
user.music_session_histories[0].session_removed_at.should_not be_nil
user.music_session_user_histories[0].session_removed_at.should_not be_nil
end
end
describe "person cleanly leaves session" do
pending
end
describe "person abruptly leaves session" do
pending
end
end