146 lines
4.2 KiB
Ruby
146 lines
4.2 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe "Product Pages", :js => true, :type => :feature, :capybara_feature => true do
|
|
|
|
subject { page }
|
|
|
|
before(:all) do
|
|
ShoppingCart.delete_all
|
|
JamTrackRight.delete_all
|
|
JamTrack.delete_all
|
|
JamTrackTrack.delete_all
|
|
JamTrackLicensor.delete_all
|
|
end
|
|
|
|
let(:user) { FactoryGirl.create(:user) }
|
|
let(:jamtrack_acdc_backinblack) { @jamtrack_acdc_backinblack }
|
|
|
|
|
|
before(:all) do
|
|
|
|
@jamtrack_acdc_backinblack = FactoryGirl.create(:jam_track, name: 'Back in Black', original_artist: 'AC/DC', sales_region: 'United States', make_track: true, plan_code: 'jamtrack-acdc-backinblack')
|
|
|
|
end
|
|
|
|
|
|
describe "JamBlaster" do
|
|
|
|
before(:all) do
|
|
@old_recaptcha=Rails.application.config.recaptcha_enable
|
|
Rails.application.config.recaptcha_enable=false
|
|
end
|
|
|
|
after(:all) do
|
|
Rails.application.config.recaptcha_enable=@old_recaptcha
|
|
end
|
|
|
|
it "logged out and then request jamblaster via sign in" do
|
|
visit "/products/jamblaster"
|
|
|
|
find('h1', text: 'The JamBlaster by JamKazam')
|
|
|
|
find('a.white-bordered-button').trigger(:click)
|
|
find('#banner h1', text: 'please sign in or sign up').trigger(:click)
|
|
find("#banner a", text: 'SIGN IN').trigger(:click)
|
|
|
|
|
|
# now we are at the sign in page
|
|
page.should have_selector('form.signin-form')
|
|
within('form.signin-form') do
|
|
fill_in "Email Address:", with: user.email
|
|
fill_in "Password:", with: user.password
|
|
click_button "SIGN IN"
|
|
end
|
|
|
|
# should be back loat the jamblaster product page, and told we placed our order
|
|
find('h1', text: 'The JamBlaster by JamKazam')
|
|
find('#banner h1', text: 'virtual order placed')
|
|
|
|
user.reload
|
|
user.want_jamblaster.should be_true
|
|
end
|
|
|
|
it "logged out and then request jamblaster via sign up" do
|
|
visit "/products/jamblaster"
|
|
|
|
find('h1', text: 'The JamBlaster by JamKazam')
|
|
|
|
find('a.white-bordered-button').trigger(:click)
|
|
find('#banner h1', text: 'please sign in or sign up').trigger(:click)
|
|
find("#banner a", text: 'SIGN UP').trigger(:click)
|
|
|
|
# we are now at the sign up page
|
|
fill_in "jam_ruby_user[first_name]", with: "Mike"
|
|
fill_in "jam_ruby_user[last_name]", with: "Jones"
|
|
fill_in "jam_ruby_user[email]", with: "jamblaster_lover@jamkazam.com"
|
|
fill_in "jam_ruby_user[password]", with: "jam123"
|
|
fill_in "jam_ruby_user[password_confirmation]", with: "jam123"
|
|
check("jam_ruby_user[instruments][drums][selected]")
|
|
check("jam_ruby_user[terms_of_service]")
|
|
click_button "CREATE ACCOUNT"
|
|
|
|
# should be back at the jamblaster product page, and told we placed our order
|
|
find('h1', text: 'The JamBlaster by JamKazam')
|
|
find('#banner h1', text: 'virtual order placed')
|
|
|
|
some_user = User.find_by_email!('jamblaster_lover@jamkazam.com')
|
|
some_user.want_jamblaster.should be_true
|
|
end
|
|
|
|
it "logged in" do
|
|
fast_signin(user, "/products/jamblaster")
|
|
|
|
find('h1', text: 'The JamBlaster by JamKazam')
|
|
find('a.white-bordered-button').trigger(:click)
|
|
find('#banner', text: 'please confirm')
|
|
find('#banner a.yes-btn').trigger(:click)
|
|
find('#banner h1', text: 'virtual order placed')
|
|
|
|
user.reload
|
|
user.want_jamblaster.should be_true
|
|
end
|
|
|
|
end
|
|
|
|
describe "Platform" do
|
|
it "logged out" do
|
|
visit "/products/platform"
|
|
|
|
find('h1', text: 'The JamKazam Platform')
|
|
find('a.white-bordered-button').trigger(:click)
|
|
|
|
find('h2', text: 'Create your free JamKazam account')
|
|
end
|
|
|
|
it "logged in" do
|
|
fast_signin(user, "/products/platform")
|
|
|
|
find('h1', text: 'The JamKazam Platform')
|
|
find('a.white-bordered-button').trigger(:click)
|
|
|
|
# clicking /signup just redirects you to the client
|
|
find('h2', text: 'create session')
|
|
end
|
|
end
|
|
|
|
describe "JamTracks" do
|
|
it "logged out" do
|
|
visit "/products/jamtracks"
|
|
|
|
find('h1', text: 'JamTracks by JamKazam')
|
|
find('a.white-bordered-button').trigger(:click)
|
|
|
|
find('h1', text: 'jamtracks')
|
|
end
|
|
|
|
it "logged in" do
|
|
fast_signin(user, "/products/jamtracks")
|
|
|
|
find('h1', text: 'JamTracks by JamKazam')
|
|
find('a.white-bordered-button').trigger(:click)
|
|
|
|
find('h1', text: 'jamtracks')
|
|
end
|
|
end
|
|
end
|