61 lines
1.8 KiB
Ruby
61 lines
1.8 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe "Bands", :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 = 15
|
|
|
|
# MaxMindIsp.delete_all # prove that city/state/country will remain nil if no maxmind data
|
|
# MaxMindGeo.delete_all
|
|
#MaxMindManager.active_record_transaction do |manager|
|
|
# manager.create_phony_database()
|
|
#end
|
|
end
|
|
|
|
let(:user) { FactoryGirl.create(:user) }
|
|
let(:finder) { FactoryGirl.create(:user) }
|
|
|
|
before(:each) do
|
|
UserMailer.deliveries.clear
|
|
navigate_band_setup
|
|
end
|
|
|
|
def navigate_band_setup
|
|
sign_in_poltergeist(user)
|
|
wait_until_curtain_gone
|
|
find('div.homecard.profile').trigger(:click)
|
|
find('#profile-bands-link').trigger(:click)
|
|
find('#band-setup-link').trigger(:click)
|
|
expect(page).to have_selector('#band-setup-title')
|
|
end
|
|
|
|
it "have validation errors shown, but then can navigate past and eventually save" do
|
|
find('#btn-band-setup-next').trigger(:click)
|
|
find('#tdBandName .error-text li', text: "can't be blank")
|
|
find('#tdBandBiography .error-text li', text: "can't be blank")
|
|
find('#tdBandGenres .error-text li', text: "At least 1 genre is required.")
|
|
|
|
within('#band-setup-form') do
|
|
fill_in "band-name", with: "The Band"
|
|
fill_in "band-biography", with: "Biography"
|
|
first('#band-genres input[type="checkbox"]').trigger(:click)
|
|
end
|
|
|
|
sleep 1 # work around race condition
|
|
find('#btn-band-setup-next').trigger(:click)
|
|
find('h2', text: 'Step 2: Add Band Members')
|
|
|
|
find('#btn-band-setup-save').trigger(:click)
|
|
find('#band-profile-name', text: "The Band")
|
|
find('#band-profile-biography', text: "Biography")
|
|
end
|
|
end
|
|
|
|
|