70 lines
2.0 KiB
Ruby
70 lines
2.0 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe "Find Session", :js => true, :type => :feature, :capybara_feature => true, :slow => true do
|
|
|
|
subject { page }
|
|
|
|
before(:all) do
|
|
Capybara.javascript_driver = :poltergeist
|
|
Capybara.current_driver = Capybara.javascript_driver
|
|
Capybara.default_wait_time = 30 # these tests are SLOOOOOW
|
|
end
|
|
|
|
let(:user) { FactoryGirl.create(:user) }
|
|
let(:finder) { FactoryGirl.create(:user) }
|
|
|
|
before(:each) do
|
|
UserMailer.deliveries.clear
|
|
ActiveMusicSession.delete_all
|
|
sign_in_poltergeist user
|
|
visit "/client#/findSession"
|
|
FactoryGirl.create(:friendship, :user => user, :friend => finder)
|
|
end
|
|
|
|
# when no sessions have been created:
|
|
it "shows there are no sessions" do
|
|
# verify no sessions are found
|
|
expect(page).to have_selector('#sessions-none-found')
|
|
end
|
|
|
|
it "finds another public session" do
|
|
create_join_session(user, [finder])
|
|
end
|
|
|
|
describe "listing behavior" do
|
|
|
|
describe "one slush session" do
|
|
before do
|
|
@session1 = FactoryGirl.create(:single_user_session)
|
|
end
|
|
|
|
it "find general population user" do
|
|
find('#btn-refresh').trigger(:click)
|
|
sleep 1
|
|
find('div#sessions-other')
|
|
page.all('div#sessions-other .found-session').count.should == 1
|
|
end
|
|
|
|
describe "tons of slush sessions" do
|
|
before do
|
|
20.times do
|
|
FactoryGirl.create(:single_user_session)
|
|
end
|
|
end
|
|
|
|
it "find many general users" do
|
|
find('#btn-refresh').trigger(:click)
|
|
sleep 1
|
|
find('div#sessions-other')
|
|
page.all('div#sessions-other .found-session').count.should == 20
|
|
|
|
# attempt to scroll down--the end of session list should show, and there should now be 21 items
|
|
page.execute_script('jQuery("#findSession .content-body-scroller").scrollTo("100%",100)') #scroll to the bottom of the element
|
|
find('#end-of-session-list')
|
|
page.all('div#sessions-other .found-session').count.should == 21
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|