jam-cloud/web/spec/features/jamtrack_landing_spec.rb

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