72 lines
2.3 KiB
Ruby
72 lines
2.3 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe "JamTrack Landing", :js => true, :type => :feature, :capybara_feature => true do
|
|
|
|
let(:user) { FactoryGirl.create(:user, has_redeemable_jamtrack: true) }
|
|
let(:jt_us) { FactoryGirl.create(:jam_track, :name=>'jt_us', sales_region: 'United States', make_track: true, original_artist: "foobar") }
|
|
let(:jt_ww) { FactoryGirl.create(:jam_track, :name=>'jt_ww', sales_region: 'Worldwide', make_track: true, original_artist: "barfoo") }
|
|
let(:jt_rock) { FactoryGirl.create(:jam_track, :name=>'jt_rock', genre: JamRuby::Genre.find('rock'), make_track: true, original_artist: "badfood") }
|
|
let(:jt_blues) { FactoryGirl.create(:jam_track, :name=>'jt_blues', genre: JamRuby::Genre.find('blues'), make_track: true, original_artist: "foodbart") }
|
|
|
|
before(:all) do
|
|
Capybara.javascript_driver = :poltergeist
|
|
Capybara.current_driver = Capybara.javascript_driver
|
|
Capybara.default_wait_time = 30 # these tests are SLOOOOOW
|
|
end
|
|
|
|
|
|
before(:each) do
|
|
ShoppingCart.delete_all
|
|
JamTrackRight.delete_all
|
|
JamTrack.delete_all
|
|
JamTrackTrack.delete_all
|
|
JamTrackLicensor.delete_all
|
|
|
|
|
|
stub_const("APP_CONFIG", web_config)
|
|
end
|
|
|
|
it "not logged in" do
|
|
jt_us.touch
|
|
jt_ww.touch
|
|
|
|
visit '/client#/jamtrackLanding'
|
|
|
|
find('h2', text: 'what are jamtracks?')
|
|
if web_config.one_free_jamtrack_per_user
|
|
find('.free-jamtrack')
|
|
else
|
|
find('.no-free-jamtrack')
|
|
end
|
|
|
|
find("a[artist='#{jt_us.original_artist}']", text: 'foobar (1)')
|
|
find("a[artist='#{jt_ww.original_artist}']", text: 'barfoo (1)')
|
|
end
|
|
|
|
it "logged in and has redeemable track" do
|
|
jt_us.touch
|
|
jt_ww.touch
|
|
|
|
fast_signin(user, '/client#/jamtrackLanding')
|
|
|
|
find('h2', text: 'what are jamtracks?')
|
|
find('.free-jamtrack')
|
|
find("a[artist='#{jt_us.original_artist}']", text: 'foobar (1)')
|
|
find("a[artist='#{jt_ww.original_artist}']", text: 'barfoo (1)')
|
|
end
|
|
|
|
it "logged in and does not have redeemable track" do
|
|
jt_us.touch
|
|
jt_ww.touch
|
|
user.has_redeemable_jamtrack = false
|
|
user.save!
|
|
|
|
fast_signin(user, '/client#/jamtrackLanding')
|
|
|
|
find('h2', text: 'what are jamtracks?')
|
|
find('.no-free-jamtrack')
|
|
find("a[artist='#{jt_us.original_artist}']", text: 'foobar (1)')
|
|
find("a[artist='#{jt_ww.original_artist}']", text: 'barfoo (1)')
|
|
end
|
|
end
|