* VRFS-3236 - update landing pages for jamtracks
This commit is contained in:
parent
939f8cdf82
commit
8e7ebcf3d6
|
|
@ -274,8 +274,11 @@ module JamRuby
|
|||
# we made it past all checks; let's slap on the redeemed_fingerprint
|
||||
self.redeemed_and_fingerprinted = true
|
||||
|
||||
|
||||
MachineFingerprint.create(all_fingerprint, current_user, MachineFingerprint::TAKEN_ON_SUCCESSFUL_DOWNLOAD, MachineFingerprint::PRINT_TYPE_ALL, remote_ip, self)
|
||||
MachineFingerprint.create(running_fingerprint, current_user, MachineFingerprint::TAKEN_ON_SUCCESSFUL_DOWNLOAD, MachineFingerprint::PRINT_TYPE_ACTIVE, remote_ip, self)
|
||||
if all_fingerprint != running_fingerprint
|
||||
MachineFingerprint.create(running_fingerprint, current_user, MachineFingerprint::TAKEN_ON_SUCCESSFUL_DOWNLOAD, MachineFingerprint::PRINT_TYPE_ACTIVE, remote_ip, self)
|
||||
end
|
||||
|
||||
save!
|
||||
end
|
||||
|
|
|
|||
Binary file not shown.
|
After Width: | Height: | Size: 8.7 KiB |
|
|
@ -9,7 +9,7 @@ context.JK.JamTrackPreview = class JamTrackPreview
|
|||
@EVENTS = context.JK.EVENTS
|
||||
@rest = context.JK.Rest()
|
||||
@logger = context.JK.logger
|
||||
@options = options || {master_shows_duration: false, color:'gray'}
|
||||
@options = options || {master_shows_duration: false, color:'gray', add_line_break: false}
|
||||
@app = app
|
||||
@jamTrack = jamTrack
|
||||
@jamTrackTrack = jamTrackTrack
|
||||
|
|
@ -56,17 +56,26 @@ context.JK.JamTrackPreview = class JamTrackPreview
|
|||
|
||||
if @jamTrackTrack.track_type == 'Track'
|
||||
part = "#{@jamTrackTrack.part}" if @jamTrackTrack.part? && @jamTrackTrack.part != instrumentDescription
|
||||
|
||||
@part.text("(#{part})") if part != ''
|
||||
else
|
||||
if @options.master_shows_duration
|
||||
duration = 'entire song'
|
||||
if @jamTrack.duration
|
||||
duration = "#{context.JK.prettyPrintSeconds(@jamTrack.duration)}"
|
||||
part = duration
|
||||
else
|
||||
part = @jamTrack.name + ' by ' + @jamTrack.original_artist
|
||||
if @options.master_adds_line_break
|
||||
part = '"' + @jamTrack.name + '"' + ' by ' + @jamTrack.original_artist
|
||||
|
||||
@part.html("#{part}") if part != ''
|
||||
@part.addClass('adds-line-break')
|
||||
else
|
||||
|
||||
if @options.master_shows_duration
|
||||
duration = 'entire song'
|
||||
if @jamTrack.duration
|
||||
duration = "#{context.JK.prettyPrintSeconds(@jamTrack.duration)}"
|
||||
part = duration
|
||||
else
|
||||
part = @jamTrack.name + ' by ' + @jamTrack.original_artist
|
||||
|
||||
@part.text("(#{part})") if part != ''
|
||||
|
||||
|
||||
@part.text("(#{part})") if part != ''
|
||||
|
||||
if @jamTrackTrack.preview_mp3_url?
|
||||
|
||||
|
|
|
|||
|
|
@ -9,24 +9,32 @@
|
|||
var logger = context.JK.logger;
|
||||
var $page = null;
|
||||
var $jamtrack_name = null;
|
||||
var $jamtrack_band = null;
|
||||
var $previews = null;
|
||||
var $jamTracksButton = null;
|
||||
var $genericHeader = null;
|
||||
var $individualizedHeader = null;
|
||||
var $ctaJamTracksButton = null;
|
||||
|
||||
function fetchJamTrack() {
|
||||
rest.getJamTrack({plan_code: gon.jam_track_plan_code})
|
||||
rest.getJamTrackWithArtistInfo({plan_code: gon.jam_track_plan_code})
|
||||
.done(function (jam_track) {
|
||||
logger.debug("jam_track", jam_track)
|
||||
|
||||
if(!gon.just_previews) {
|
||||
if (gon.generic) {
|
||||
$genericHeader.removeClass('hidden');
|
||||
$jamTracksButton.attr('href', '/client#/jamtrackBrowse')
|
||||
$jamTracksButton.removeClass('hidden').text("Check out all 100+ JamTracks")
|
||||
|
||||
}
|
||||
else {
|
||||
$individualizedHeader.removeClass('hidden')
|
||||
$jamtrack_name.text(jam_track.name);
|
||||
$jamtrack_name.text('"' + jam_track.name + '"');
|
||||
$jamtrack_band.text(jam_track.original_artist)
|
||||
$jamTracksButton.attr('href', '/client?artist=' + jam_track.original_artist + '#/jamtrackBrowse')
|
||||
$jamTracksButton.removeClass('hidden').text("Preview all " + jam_track.band_jam_track_count + " of our " + jam_track.original_artist + " JamTracks")
|
||||
$ctaJamTracksButton.attr('href', '/client?artist=' + jam_track.original_artist + '#/jamtrackBrowse')
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -36,24 +44,28 @@
|
|||
|
||||
$previews.append($element);
|
||||
|
||||
new context.JK.JamTrackPreview(app, $element, jam_track, track, {master_shows_duration: false, color:'black'})
|
||||
new context.JK.JamTrackPreview(app, $element, jam_track, track, {master_shows_duration: false, color:'black', master_adds_line_break: true})
|
||||
})
|
||||
|
||||
$previews.append('<br clear = "all" />')
|
||||
|
||||
|
||||
})
|
||||
.fail(function () {
|
||||
app.notify({title: 'Unable to fetch JamTrack', text: "Please refresh the page or try again later."})
|
||||
})
|
||||
|
||||
}
|
||||
function initialize() {
|
||||
|
||||
$page = $('body')
|
||||
$jamtrack_name = $page.find('.jamtrack_name')
|
||||
$jamtrack_band = $page.find('.jamtrack_band')
|
||||
$previews = $page.find('.previews')
|
||||
$jamTracksButton = $page.find('.browse-jamtracks-wrapper .white-bordered-button')
|
||||
$jamTracksButton = $page.find('.browse-jamtracks')
|
||||
$ctaJamTracksButton = $page.find('.cta-free-jamtrack');
|
||||
$genericHeader = $page.find('h1.generic')
|
||||
$individualizedHeader = $page.find('h1.individualized')
|
||||
|
||||
fetchJamTrack();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -13,27 +13,28 @@
|
|||
var $jamTrackNoun = null;
|
||||
var $previews = null;
|
||||
var $jamTracksButton = null;
|
||||
var $jamtrack_band = null;
|
||||
var $checkItOut = null;
|
||||
var $ctaJamTracksButton = null;
|
||||
|
||||
function fetchJamTrack() {
|
||||
rest.getJamTrackWithArtistInfo({plan_code: gon.jam_track_plan_code})
|
||||
.done(function (jam_track) {
|
||||
logger.debug("jam_track", jam_track)
|
||||
|
||||
$jamTrackBandInfo.text(jam_track.band_jam_track_count + ' ' + jam_track.original_artist);
|
||||
$jamtrack_band.text(jam_track.original_artist)
|
||||
$jamTracksButton.attr('href', '/client?artist=' + jam_track.original_artist + '#/jamtrackBrowse')
|
||||
$jamTracksButton.removeClass('hidden').text("Preview all " + jam_track.band_jam_track_count + " of our " + jam_track.original_artist + " JamTracks")
|
||||
$ctaJamTracksButton.attr('href', '/client?artist=' + jam_track.original_artist + '#/jamtrackBrowse')
|
||||
|
||||
|
||||
if(jam_track.band_jam_track_count == 1) {
|
||||
$jamTrackNoun.text('JamTrack')
|
||||
$checkItOut.text(', Check It Out!')
|
||||
}
|
||||
context._.each(jam_track.tracks, function (track) {
|
||||
|
||||
var $element = $('<div class="jam-track-preview-holder"></div>')
|
||||
|
||||
$previews.append($element);
|
||||
|
||||
new context.JK.JamTrackPreview(app, $element, jam_track, track, {master_shows_duration: false, color:'black'})
|
||||
new context.JK.JamTrackPreview(app, $element, jam_track, track, {master_shows_duration: false, color:'black', master_adds_line_break:true})
|
||||
})
|
||||
|
||||
$previews.append('<br clear = "all" />')
|
||||
|
|
@ -48,9 +49,9 @@
|
|||
$page = $('body')
|
||||
$jamTrackBandInfo = $page.find('.jamtrack_band_info')
|
||||
$previews = $page.find('.previews')
|
||||
$jamTracksButton = $page.find('.browse-jamtracks-wrapper .white-bordered-button')
|
||||
$jamTrackNoun = $page.find('.jamtrack_noun')
|
||||
$checkItOut = $page.find('.check-it-out')
|
||||
$jamtrack_band = $page.find('.jamtrack_band')
|
||||
$jamTracksButton = $page.find('.browse-jamtracks')
|
||||
$ctaJamTracksButton = $page.find('.cta-free-jamtrack');
|
||||
|
||||
fetchJamTrack();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -68,4 +68,10 @@
|
|||
display:none;
|
||||
}
|
||||
}
|
||||
|
||||
.adds-line-break {
|
||||
display:block;
|
||||
margin-left:66px;
|
||||
vertical-align: top;
|
||||
}
|
||||
}
|
||||
|
|
@ -16,17 +16,20 @@ body.web.landing_jamtrack.individual_jamtrack {
|
|||
width:90%;
|
||||
}
|
||||
|
||||
.prompt {
|
||||
margin-top:10px;
|
||||
}
|
||||
|
||||
.jam-track-preview-holder {
|
||||
|
||||
margin-bottom: 7px;
|
||||
float: left;
|
||||
|
||||
&[data-track-type="Master"] {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
&[data-track-type="Track"] {
|
||||
width: 50%;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -16,17 +16,20 @@ body.web.landing_jamtrack.individual_jamtrack_band {
|
|||
width:90%;
|
||||
}
|
||||
|
||||
.prompt {
|
||||
margin-top:10px;
|
||||
}
|
||||
|
||||
.jam-track-preview-holder {
|
||||
|
||||
margin-bottom: 7px;
|
||||
float: left;
|
||||
|
||||
&[data-track-type="Master"] {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
&[data-track-type="Track"] {
|
||||
width: 50%;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2,6 +2,28 @@
|
|||
|
||||
body.web.landing_page {
|
||||
|
||||
div.cta-free-jamtrack {
|
||||
top: 32px;
|
||||
position: absolute;
|
||||
left: 383px;
|
||||
|
||||
a {
|
||||
width: 296px;
|
||||
height: 57px;
|
||||
}
|
||||
|
||||
.value-indicator {
|
||||
position:absolute;
|
||||
left: 311px;
|
||||
top: 19px;
|
||||
width:80px;
|
||||
}
|
||||
|
||||
img {
|
||||
height:100%;
|
||||
width:100%;
|
||||
}
|
||||
}
|
||||
.two_by_two {
|
||||
|
||||
h1 {
|
||||
|
|
@ -29,6 +51,41 @@ body.web.landing_page {
|
|||
}
|
||||
}
|
||||
|
||||
.one_by_two {
|
||||
h1 {
|
||||
margin:0 0 5px;
|
||||
padding:7px 0;
|
||||
display:inline-block;
|
||||
|
||||
&.hidden {
|
||||
display:none;
|
||||
}
|
||||
}
|
||||
.row {
|
||||
@include border_box_sizing;
|
||||
|
||||
&:nth-of-type(1) {
|
||||
padding:20px 0 0 0;
|
||||
}
|
||||
|
||||
.column {
|
||||
@include border_box_sizing;
|
||||
|
||||
&:nth-of-type(1) {
|
||||
width:35%;
|
||||
}
|
||||
|
||||
&:nth-of-type(2) {
|
||||
width:65%;
|
||||
}
|
||||
}
|
||||
}
|
||||
.video-container {
|
||||
width:100%;
|
||||
padding-bottom:56.25%;
|
||||
}
|
||||
}
|
||||
|
||||
&.landing_jamtrack, &.landing_product {
|
||||
|
||||
.landing-tag {
|
||||
|
|
|
|||
|
|
@ -139,7 +139,7 @@ class ApiJamTracksController < ApiController
|
|||
|
||||
|
||||
# jamtracks come in the form id-44 or id-48, so we need to do a little extra parsing
|
||||
puts "#{jamtracks.inspect}"
|
||||
|
||||
jamtrack_ids = Set.new
|
||||
jamtracks_fq_ids = Set.new
|
||||
jamtracks.each do |jamtrack|
|
||||
|
|
@ -151,8 +151,6 @@ class ApiJamTracksController < ApiController
|
|||
end
|
||||
end
|
||||
|
||||
|
||||
puts "#{jamtrack_ids.inspect} #{jamtracks_fq_ids.inspect}"
|
||||
@jam_tracks = JamTrackRight.list_keys(current_user, jamtrack_ids)
|
||||
@jamtracks_fq_ids = jamtracks_fq_ids
|
||||
end
|
||||
|
|
|
|||
|
|
@ -67,6 +67,8 @@ class LandingsController < ApplicationController
|
|||
end
|
||||
|
||||
def individual_jamtrack
|
||||
@no_landing_tag = true
|
||||
@show_cta_free_jamtrack = true
|
||||
@jam_track = JamTrack.find_by_plan_code("jamtrack-" + params[:plan_code])
|
||||
gon.jam_track_plan_code = params[:plan_code] ? "jamtrack-" + params[:plan_code] : nil
|
||||
gon.generic = params[:generic]
|
||||
|
|
@ -74,6 +76,8 @@ class LandingsController < ApplicationController
|
|||
end
|
||||
|
||||
def individual_jamtrack_band
|
||||
@no_landing_tag = true
|
||||
@show_cta_free_jamtrack = true
|
||||
@jam_track = JamTrack.find_by_plan_code("jamtrack-" + params[:plan_code])
|
||||
gon.jam_track_plan_code = params[:plan_code] ? "jamtrack-" + params[:plan_code] : nil
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
<!-- inner wrapper -->
|
||||
<div class="overlay-video-inner">
|
||||
<iframe id="video-dialog-iframe" width="550" height="309" frameborder="0" allowfullscreen></iframe>
|
||||
<iframe id="video-dialog-iframe" width="550" height="309" frameborder="0" allowfullscreen="allowfullscreen"></iframe>
|
||||
</div>
|
||||
<!-- end inner -->
|
||||
|
||||
|
|
|
|||
|
|
@ -1,42 +1,26 @@
|
|||
- provide(:page_name, 'landing_page full landing_jamtrack individual_jamtrack')
|
||||
- provide(:description, @jam_track.nil? ? nil : "Preview multi-track JamTrack recording: #{@jam_track.name} by #{@jam_track.original_artist}. Way better than a backing track.")
|
||||
|
||||
.two_by_two
|
||||
.one_by_two
|
||||
.row
|
||||
.column
|
||||
h1.hidden.individualized
|
||||
| Check Out Our
|
||||
| Preview
|
||||
strong.jamtrack_name
|
||||
| JamTrack
|
||||
br
|
||||
| JamTrack by
|
||||
span.jamtrack_band
|
||||
|
||||
h1.hidden.generic
|
||||
| We Have 100+ Amazing JamTracks, Check One Out!
|
||||
p Click the play buttons below to hear the master mix and each fully isolated track. All are included in each single JamTrack.
|
||||
| Preview One of Our JamTracks
|
||||
p.prompt Click play buttons to preview tracks. Every JamTrack includes fully isolated tracks for each part of the song!
|
||||
.previews
|
||||
a.browse-jamtracks.hidden
|
||||
.column
|
||||
h1 See What You Can Do With JamTracks
|
||||
.video-wrapper
|
||||
.video-container
|
||||
iframe src="//www.youtube.com/embed/askHvcCoNfw" frameborder="0" allowfullscreen
|
||||
br clear="all"
|
||||
.row
|
||||
.column
|
||||
h1
|
||||
| Get Your First JamTrack Free Now!
|
||||
p Click the GET A JAMTRACK FREE button below. Browse to find the one you want. Click Add to cart, and we'll apply a credit during checkout to make this first one free! We're confident you'll be back for more.
|
||||
.browse-jamtracks-wrapper
|
||||
a.white-bordered-button href="/client#/jamtrackBrowse" GET A JAMTRACK FREE!
|
||||
.column
|
||||
h1 Why Are JamTracks Different & Better?
|
||||
p
|
||||
| JamTracks are the best way to play with your favorite music.
|
||||
| Unlike traditional backing tracks, JamTracks are complete multitrack recordings,
|
||||
| with fully isolated tracks for each part. Used with the free JamKazam app/service, you can:
|
||||
ul.jamtrack-reasons
|
||||
li Solo just the individual track you want to play to hear and learn it
|
||||
li Mute just the track you want to play, and play along with the rest
|
||||
li Make audio recordings and share them via Facebook or URL
|
||||
li Make video recordings and share them via YouTube or URL
|
||||
li And even go online to play JamTracks with others in real time!
|
||||
iframe src="//www.youtube.com/embed/askHvcCoNfw" frameborder="0" allowfullscreen="allowfullscreen"
|
||||
br clear="all"
|
||||
br clear="all"
|
||||
|
||||
|
|
|
|||
|
|
@ -1,42 +1,22 @@
|
|||
- provide(:page_name, 'landing_page full landing_jamtrack individual_jamtrack_band')
|
||||
- provide(:description, @jam_track.nil? ? nil : "Preview multi-track JamTrack recording: #{@jam_track.name} by #{@jam_track.original_artist}. Way better than a backing track.")
|
||||
|
||||
.two_by_two
|
||||
.one_by_two
|
||||
.row
|
||||
.column
|
||||
h1
|
||||
| We Have
|
||||
span.jamtrack_band_info
|
||||
|
|
||||
span.jamtrack_noun JamTracks
|
||||
span.check-it-out , Check One Out!
|
||||
p Click the play buttons below to hear the master mix and each fully isolated track. All are included in each single JamTrack.
|
||||
| Preview a
|
||||
| JamTrack by
|
||||
span.jamtrack_band
|
||||
|
||||
p.prompt Click play buttons to preview tracks. Every JamTrack includes fully isolated tracks for each part of the song!
|
||||
.previews
|
||||
a.browse-jamtracks.hidden
|
||||
.column
|
||||
h1 See What You Can Do With JamTracks
|
||||
.video-wrapper
|
||||
.video-container
|
||||
iframe src="//www.youtube.com/embed/askHvcCoNfw" frameborder="0" allowfullscreen
|
||||
br clear="all"
|
||||
.row
|
||||
.column
|
||||
h1
|
||||
| Get Your First JamTrack Free Now!
|
||||
p Click the GET A JAMTRACK FREE button below. Browse to find the one you want. Click Add to cart, and we'll apply a credit during checkout to make this first one free! We're confident you'll be back for more.
|
||||
.browse-jamtracks-wrapper
|
||||
a.white-bordered-button href="/client#/jamtrackBrowse" GET A JAMTRACK FREE!
|
||||
.column
|
||||
h1 Why Are JamTracks Different & Better?
|
||||
p
|
||||
| JamTracks are the best way to play with your favorite music.
|
||||
| Unlike traditional backing tracks, JamTracks are complete multitrack recordings,
|
||||
| with fully isolated tracks for each part. Used with the free JamKazam app/service, you can:
|
||||
ul.jamtrack-reasons
|
||||
li Solo just the individual track you want to play to hear and learn it
|
||||
li Mute just the track you want to play, and play along with the rest
|
||||
li Make audio recordings and share them via Facebook or URL
|
||||
li Make video recordings and share them via YouTube or URL
|
||||
li And even go online to play JamTracks with others in real time!
|
||||
iframe src="//www.youtube.com/embed/askHvcCoNfw" frameborder="0" allowfullscreen="allowfullscreen"
|
||||
br clear="all"
|
||||
br clear="all"
|
||||
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
h1 See What You Can Do With The JamBlaster
|
||||
.video-wrapper
|
||||
.video-container
|
||||
iframe src="//www.youtube.com/embed/YHZQHfKDdMc" frameborder="0" allowfullscreen
|
||||
iframe src="//www.youtube.com/embed/YHZQHfKDdMc" frameborder="0" allowfullscreen="allowfullscreen"
|
||||
br clear="all"
|
||||
.row
|
||||
.column
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
h1 See What You Can With JamTracks
|
||||
.video-wrapper
|
||||
.video-container
|
||||
iframe src="//www.youtube.com/embed/askHvcCoNfw" frameborder="0" allowfullscreen
|
||||
iframe src="//www.youtube.com/embed/askHvcCoNfw" frameborder="0" allowfullscreen="allowfullscreen"
|
||||
br clear="all"
|
||||
.row
|
||||
.column
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
h1 See What You Can Do With JamKazam
|
||||
.video-wrapper
|
||||
.video-container
|
||||
iframe src="//www.youtube.com/embed/ylYcvTY9CVo" frameborder="0" allowfullscreen
|
||||
iframe src="//www.youtube.com/embed/ylYcvTY9CVo" frameborder="0" allowfullscreen="allowfullscreen"
|
||||
br clear="all"
|
||||
.row
|
||||
.column
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
h1 Watch 6 Bands Play Together from Different Locations
|
||||
.video-wrapper
|
||||
.video-container
|
||||
iframe src="//www.youtube.com/embed/I2reeNKtRjg" frameborder="0" allowfullscreen
|
||||
iframe src="//www.youtube.com/embed/I2reeNKtRjg" frameborder="0" allowfullscreen="allowfullscreen"
|
||||
.cta-container
|
||||
h2 It's FREE! Ready to Go?
|
||||
= link_to image_tag("web/cta_button.png", :alt => "Sign up now for your free account!"), signup_path, class: "signup", id: "signup"
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
h1 See How JamKazam Works
|
||||
.video-wrapper
|
||||
.video-container
|
||||
iframe src="//www.youtube.com/embed/ylYcvTY9CVo" frameborder="0" allowfullscreen
|
||||
iframe src="//www.youtube.com/embed/ylYcvTY9CVo" frameborder="0" allowfullscreen="allowfullscreen"
|
||||
.cta-container
|
||||
h2 It's FREE! Ready to Go?
|
||||
= link_to image_tag("web/cta_button.png", :alt => "Sign up now for your free account!"), signup_path, class: "signup", id: "signup"
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
h1 See How to Get Started
|
||||
.video-wrapper
|
||||
.video-container
|
||||
iframe src="//www.youtube.com/embed/DBo--aj_P1w" frameborder="0" allowfullscreen
|
||||
iframe src="//www.youtube.com/embed/DBo--aj_P1w" frameborder="0" allowfullscreen="allowfullscreen"
|
||||
.cta-container
|
||||
h2 It's FREE! Ready to Go?
|
||||
= link_to image_tag("web/cta_button.png", :alt => "Sign up now for your free account!"), signup_path, class: "signup", id: "signup"
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
h1 Watch 6 Bands Play Together from Different Locations
|
||||
.video-wrapper
|
||||
.video-container
|
||||
iframe src="//www.youtube.com/embed/I2reeNKtRjg" frameborder="0" allowfullscreen
|
||||
iframe src="//www.youtube.com/embed/I2reeNKtRjg" frameborder="0" allowfullscreen="allowfullscreen"
|
||||
.row
|
||||
.column
|
||||
.cta-container
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
b JamBlaster
|
||||
.video-wrapper
|
||||
.video-container
|
||||
iframe src="//www.youtube.com/embed/gAJAIHMyois?rel=0&autoplay=1" frameborder="0" allowfullscreen
|
||||
iframe src="//www.youtube.com/embed/gAJAIHMyois?rel=0&autoplay=1" frameborder="0" allowfullscreen="allowfullscreen"
|
||||
.cta-container
|
||||
h1
|
||||
span.badge-number 3
|
||||
|
|
@ -20,7 +20,7 @@
|
|||
| Learn About the Free JamKazam Service
|
||||
.video-wrapper
|
||||
.video-container
|
||||
iframe src="//www.youtube.com/embed/ylYcvTY9CVo" frameborder="0" allowfullscreen
|
||||
iframe src="//www.youtube.com/embed/ylYcvTY9CVo" frameborder="0" allowfullscreen="allowfullscreen"
|
||||
.cta-container
|
||||
h1
|
||||
span.badge-number 4
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
p Band performance starts at 1:00 mark
|
||||
.video-wrapper
|
||||
.video-container
|
||||
iframe src="//www.youtube.com/embed/gAJAIHMyois" frameborder="0" allowfullscreen
|
||||
iframe src="//www.youtube.com/embed/gAJAIHMyois" frameborder="0" allowfullscreen="allowfullscreen"
|
||||
.cta-container
|
||||
p
|
||||
| If you don't own an audio interface, we strongly recommend that you grab a JamBlaster on KickStarter now. It is far faster than traditional interfaces and easily
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
b JamBlaster
|
||||
.video-wrapper
|
||||
.video-container
|
||||
iframe src="//www.youtube.com/embed/2Zk7-04IAx4?rel=0&autoplay=1" frameborder="0" allowfullscreen
|
||||
iframe src="//www.youtube.com/embed/2Zk7-04IAx4?rel=0&autoplay=1" frameborder="0" allowfullscreen="allowfullscreen"
|
||||
.cta-container
|
||||
p
|
||||
| If you want to be able to play like this, grab a JamBlaster on KickStarter while it's available - only about 20 more days!
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
| Learn About the Free JamKazam Service
|
||||
.video-wrapper
|
||||
.video-container
|
||||
iframe src="//www.youtube.com/embed/ylYcvTY9CVo" frameborder="0" allowfullscreen
|
||||
iframe src="//www.youtube.com/embed/ylYcvTY9CVo" frameborder="0" allowfullscreen="allowfullscreen"
|
||||
.cta-container
|
||||
p
|
||||
| If you already own an audio interface, you are ready to go!
|
||||
|
|
@ -22,7 +22,7 @@
|
|||
| from Atlanta, Austin, Chicago & Brooklyn
|
||||
.video-wrapper
|
||||
.video-container
|
||||
iframe src="//www.youtube.com/embed/2Zk7-04IAx4" frameborder="0" allowfullscreen
|
||||
iframe src="//www.youtube.com/embed/2Zk7-04IAx4" frameborder="0" allowfullscreen="allowfullscreen"
|
||||
.cta-container
|
||||
p
|
||||
| If you don't already own an audio interface, grab a JamBlaster on KickStarter today! Absolutely the best way to play online.
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
h1 Watch Video to See How JamKazam Works
|
||||
.video-wrapper
|
||||
.video-container
|
||||
iframe src="//www.youtube.com/embed/ylYcvTY9CVo" frameborder="0" allowfullscreen
|
||||
iframe src="//www.youtube.com/embed/ylYcvTY9CVo" frameborder="0" allowfullscreen="allowfullscreen"
|
||||
.cta-container
|
||||
h2 It's FREE! Ready to Go?
|
||||
= link_to image_tag("web/cta_button.png", :alt => "Sign up now for your free account!"), signup_path, class: "signup", id: "signup", rel: "external"
|
||||
|
|
@ -15,7 +15,7 @@
|
|||
b JamBlaster
|
||||
.video-wrapper
|
||||
.video-container
|
||||
iframe src="//www.youtube.com/embed/gAJAIHMyois" frameborder="0" allowfullscreen
|
||||
iframe src="//www.youtube.com/embed/gAJAIHMyois" frameborder="0" allowfullscreen="allowfullscreen"
|
||||
.cta-container
|
||||
h2 More Resources:
|
||||
a href="https://www.youtube.com/watch?v=_7qj5RXyHCo" rel="external"
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
h1 Watch 6 Bands Play Together from Different Locations
|
||||
.video-wrapper
|
||||
.video-container
|
||||
iframe src="//www.youtube.com/embed/I2reeNKtRjg" frameborder="0" allowfullscreen
|
||||
iframe src="//www.youtube.com/embed/I2reeNKtRjg" frameborder="0" allowfullscreen="allowfullscreen"
|
||||
.cta-container
|
||||
h2 It's FREE! Ready to Go?
|
||||
= link_to image_tag("web/cta_button.png", :alt => "Sign up now for your free account!"), signup_path, class: "signup", id: "signup"
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
h1 See How to Get Started Using JamKazam
|
||||
.video-wrapper
|
||||
.video-container
|
||||
iframe src="//www.youtube.com/embed/DBo--aj_P1w" frameborder="0" allowfullscreen
|
||||
iframe src="//www.youtube.com/embed/DBo--aj_P1w" frameborder="0" allowfullscreen="allowfullscreen"
|
||||
.cta-container
|
||||
h2 It's FREE! Ready to Go?
|
||||
= link_to image_tag("web/cta_button.png", :alt => "Sign up now for your free account!"), signup_path, class: "signup", id: "signup"
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
h1 Watch Overview Video to See How JamKazam Works
|
||||
.video-wrapper
|
||||
.video-container
|
||||
iframe src="//www.youtube.com/embed/ylYcvTY9CVo" frameborder="0" allowfullscreen
|
||||
iframe src="//www.youtube.com/embed/ylYcvTY9CVo" frameborder="0" allowfullscreen="allowfullscreen"
|
||||
.row
|
||||
.column
|
||||
.cta-container
|
||||
|
|
|
|||
|
|
@ -54,13 +54,20 @@
|
|||
<% end %>
|
||||
</div>
|
||||
|
||||
<% unless @welcome_page %>
|
||||
<% unless @welcome_page || @no_landing_tag %>
|
||||
<div class="landing-tag <%= @no_user_dropdown ? 'no-user-dropdown' : '' %>">
|
||||
<h1>Live music platform & <br/> social network for musicians</h1>
|
||||
</div>
|
||||
<div class="clearall"></div>
|
||||
<% end %>
|
||||
|
||||
<% if @show_cta_free_jamtrack %>
|
||||
<div class="cta-free-jamtrack">
|
||||
<%= link_to image_tag("web/free-jamtrack-cta.png", :alt => "ClICK HERE TO PICK YOUR FIRST JAMTRACK FREE!"), "/client#/jamtrackBrowse", class: "cta-free-jamtrack" %>
|
||||
<span class="value-indicator">$1.99 value</span>
|
||||
</div>
|
||||
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<div class="landing-content">
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@
|
|||
| for your first JamTrack - free! Add it to your shopping cart, and we'll
|
||||
| make it free during the checkout process. Free offer good for 1 week only!
|
||||
.video-container
|
||||
iframe src="//www.youtube.com/embed/askHvcCoNfw" frameborder="0" allowfullscreen
|
||||
iframe src="//www.youtube.com/embed/askHvcCoNfw" frameborder="0" allowfullscreen="allowfullscreen"
|
||||
|
||||
a.go-jamtrack-shopping href="/client#/jamtrackBrowse" rel="external"
|
||||
| Shop for free
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ describe ApiJamTracksController do
|
|||
end
|
||||
|
||||
before(:each) do
|
||||
MachineFingerprint.destroy_all
|
||||
JamTrackRight.destroy_all
|
||||
JamTrack.destroy_all
|
||||
@user = FactoryGirl.create(:user)
|
||||
|
|
@ -65,7 +66,7 @@ describe ApiJamTracksController do
|
|||
it "finds a download" do
|
||||
#get "/download/#{right.id}/"
|
||||
right = JamTrackRight.create(:user=>@user, :jam_track=>@jam_track)
|
||||
get :download, { :format=>'json', :id=>@jam_track.id }
|
||||
get :download, { :format=>'json', :id=>@jam_track.id, all_fp: 'all', running_fp: 'running' }
|
||||
|
||||
response.should be_success
|
||||
response.status.should == 202
|
||||
|
|
@ -142,12 +143,13 @@ describe ApiJamTracksController do
|
|||
ResqueSpec.reset!
|
||||
end
|
||||
|
||||
it "download depends on rights" do
|
||||
get :download, :id=>@jam_track.id, sample_rate: 48
|
||||
it "download depends on rights" do
|
||||
fingerprint={all:'all', running:'running'}
|
||||
get :download, :id=>@jam_track.id, sample_rate: 48, all_fp: 'all', running_fp: 'running'
|
||||
response.status.should == 403
|
||||
|
||||
right = JamTrackRight.create(:user=>@user, :jam_track=>@jam_track)
|
||||
get :download, :id=>@jam_track.id, sample_rate: 48
|
||||
get :download, :id=>@jam_track.id, sample_rate: 48, all_fp: 'all', running_fp: 'running'
|
||||
response.status.should == 202
|
||||
right.download_count.should eq(0)
|
||||
right.private_key_44.should be_nil
|
||||
|
|
@ -166,20 +168,19 @@ describe ApiJamTracksController do
|
|||
right.private_key_48.should_not be_nil
|
||||
right.download_count.should eq(0)
|
||||
|
||||
get :download, :id=>@jam_track.id, sample_rate: 48
|
||||
get :download, :id=>@jam_track.id, sample_rate: 48, all_fp: 'all', running_fp: 'running'
|
||||
response.status.should == 302
|
||||
puts response.location
|
||||
response.location.should =~ /.*#{Regexp.escape(right.filename(:url_48))}.*/
|
||||
right.reload
|
||||
right.download_count.should eq(1)
|
||||
end
|
||||
|
||||
it "supports multiple bitrates" do
|
||||
get :download, :id=>@jam_track.id, :sample_rate=>44
|
||||
get :download, :id=>@jam_track.id, :sample_rate=>44, all_fp: 'all', running_fp: 'running'
|
||||
response.status.should == 403
|
||||
|
||||
right = JamTrackRight.create(:user=>@user, :jam_track=>@jam_track)
|
||||
get :download, :id=>@jam_track.id, :sample_rate=>44
|
||||
get :download, :id=>@jam_track.id, :sample_rate=>44, all_fp: 'all', running_fp: 'running'
|
||||
response.status.should == 202
|
||||
right.download_count.should eq(0)
|
||||
right.private_key_44.should be_nil
|
||||
|
|
@ -198,7 +199,7 @@ describe ApiJamTracksController do
|
|||
right.private_key_48.should be_nil
|
||||
right.download_count.should eq(0)
|
||||
|
||||
get :download, :id=>@jam_track.id, :sample_rate=>44
|
||||
get :download, :id=>@jam_track.id, :sample_rate=>44, all_fp: 'all', running_fp: 'running'
|
||||
response.status.should == 302
|
||||
response.location.should =~ /.*#{Regexp.escape(right.filename(:url_44))}.*/
|
||||
right.reload
|
||||
|
|
@ -276,7 +277,7 @@ describe ApiJamTracksController do
|
|||
it "success" do
|
||||
right = FactoryGirl.create(:jam_track_right, user: @user, signed_44: false, signed_48:false)
|
||||
right.signing_queued_at.should be_nil
|
||||
post :enqueue, {:format=>'json', :id=>right.jam_track.id}
|
||||
post :enqueue, {:format=>'json', :id=>right.jam_track.id, fingerprint: {all: 'all', running: 'running'} }
|
||||
response.should be_success
|
||||
|
||||
right.reload
|
||||
|
|
@ -295,4 +296,49 @@ describe ApiJamTracksController do
|
|||
json['error_count'].should eq(0)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
describe "guard fraud" do
|
||||
it "stops second user from downloading using same machine" do
|
||||
|
||||
right = JamTrackRight.create(:user=>@user, :jam_track=>@jam_track)
|
||||
right.redeemed = true
|
||||
right.save!
|
||||
get :download, :id=>@jam_track.id, sample_rate: 48, all_fp: 'all', running_fp: 'running'
|
||||
response.status.should == 202
|
||||
|
||||
user2 = FactoryGirl.create(:user)
|
||||
|
||||
controller.current_user = user2
|
||||
|
||||
right = JamTrackRight.create(:user=>user2, :jam_track=>@jam_track)
|
||||
right.redeemed = true
|
||||
right.save!
|
||||
get :download, :id=>@jam_track.id, sample_rate: 48, all_fp: 'all', running_fp: 'running'
|
||||
response.status.should == 403
|
||||
JSON.parse(response.body)['message'].should eq("other user has 'all' fingerprint")
|
||||
end
|
||||
|
||||
it "stops second user from enqueuing using same machine" do
|
||||
right = JamTrackRight.create(:user=>@user, :jam_track=>@jam_track)
|
||||
right.redeemed = true
|
||||
right.save!
|
||||
right.signing_queued_at.should be_nil
|
||||
post :enqueue, {:format=>'json', :id=>right.jam_track.id, fingerprint: {all: 'all', running: 'running'} }
|
||||
response.should be_success
|
||||
|
||||
user2 = FactoryGirl.create(:user)
|
||||
|
||||
controller.current_user = user2
|
||||
|
||||
right = JamTrackRight.create(:user=>user2, :jam_track=>@jam_track)
|
||||
right.redeemed = true
|
||||
right.save!
|
||||
right.signing_queued_at.should be_nil
|
||||
post :enqueue, {:format=>'json', :id=>right.jam_track.id, fingerprint: {all: 'all', running: 'running'} }
|
||||
get :download, :id=>@jam_track.id, sample_rate: 48, all_fp: 'all', running_fp: 'running'
|
||||
response.status.should == 403
|
||||
JSON.parse(response.body)['message'].should eq("other user has 'all' fingerprint")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ describe ApiShoppingCartsController do
|
|||
|
||||
describe "anonymous" do
|
||||
|
||||
let(:user) { AnonymousUser.new('abc') }
|
||||
let(:user) { AnonymousUser.new('abc', {}) }
|
||||
|
||||
before(:each) do
|
||||
controller.current_user = nil
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ require 'spec_helper'
|
|||
describe ApiSignupHintsController, :type=>:controller do
|
||||
render_views
|
||||
|
||||
let(:user) {AnonymousUser.new(SecureRandom.uuid)}
|
||||
let(:user) {AnonymousUser.new(SecureRandom.uuid, {})}
|
||||
|
||||
before(:each) do
|
||||
SignupHint.delete_all
|
||||
|
|
|
|||
|
|
@ -15,60 +15,19 @@ describe "Individual JamTrack Band", :js => true, :type => :feature, :capybara_f
|
|||
let(:user) { FactoryGirl.create(:user) }
|
||||
let(:jamtrack_acdc_backinblack) { @jamtrack_acdc_backinblack }
|
||||
|
||||
let(:billing_info) {
|
||||
{
|
||||
first_name: 'Seth',
|
||||
last_name: 'Call',
|
||||
address1: '10704 Buckthorn Drive',
|
||||
city: 'Austin',
|
||||
state: 'Texas',
|
||||
country: 'US',
|
||||
zip: '78759',
|
||||
number: '4111111111111111',
|
||||
month: '08',
|
||||
year: '2017',
|
||||
verification_value: '012'
|
||||
}
|
||||
}
|
||||
|
||||
def create_account(user, billing_info)
|
||||
@recurlyClient.create_account(user, billing_info)
|
||||
@created_accounts << user
|
||||
end
|
||||
|
||||
|
||||
before(:all) do
|
||||
|
||||
@recurlyClient = RecurlyClient.new
|
||||
@created_accounts = []
|
||||
|
||||
@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
|
||||
|
||||
# make sure tax estimate plans are there
|
||||
@recurlyClient.create_jam_track_plan(@jamtrack_acdc_backinblack) unless @recurlyClient.find_jam_track_plan(@jamtrack_acdc_backinblack)
|
||||
end
|
||||
|
||||
|
||||
after(:each) do
|
||||
@created_accounts.each do |user|
|
||||
if user.recurly_code
|
||||
begin
|
||||
@account = Recurly::Account.find(user.recurly_code)
|
||||
if @account.present?
|
||||
@account.destroy
|
||||
end
|
||||
rescue
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe "AC/DC Back in Black" do
|
||||
|
||||
it "logged out" do
|
||||
visit "/landing/jamtracks/band/acdc-backinblack"
|
||||
|
||||
find('h1', text: "We Have 1 #{@jamtrack_acdc_backinblack.original_artist} JamTrack, Check It Out!")
|
||||
find('.jamtrack_band', text: @jamtrack_acdc_backinblack.original_artist)
|
||||
jamtrack_acdc_backinblack.jam_track_tracks.each do |track|
|
||||
if track.master?
|
||||
find('.jam-track-preview-holder[data-id="' + track.id + '"] img.instrument-icon[data-instrument-id="other"]')
|
||||
|
|
@ -78,16 +37,17 @@ describe "Individual JamTrack Band", :js => true, :type => :feature, :capybara_f
|
|||
find('.jam-track-preview-holder[data-id="' + track.id + '"] .instrument-name', text:track.instrument.description)
|
||||
end
|
||||
end
|
||||
find('a.white-bordered-button')['href'].should eq("/client?artist=#{jamtrack_acdc_backinblack.original_artist}#/jamtrackBrowse")
|
||||
find('a.cta-free-jamtrack')['href'].should eq("/client?artist=#{jamtrack_acdc_backinblack.original_artist}#/jamtrackBrowse")
|
||||
find('a.browse-jamtracks')['href'].should eq("/client?artist=#{jamtrack_acdc_backinblack.original_artist}#/jamtrackBrowse")
|
||||
|
||||
find('a.white-bordered-button').trigger(:click)
|
||||
find('a.browse-jamtracks').trigger(:click)
|
||||
find('h1', text: 'jamtracks')
|
||||
end
|
||||
|
||||
it "logged in" do
|
||||
fast_signin(user, "/landing/jamtracks/band/acdc-backinblack")
|
||||
|
||||
find('h1', text: "We Have 1 #{@jamtrack_acdc_backinblack.original_artist} JamTrack, Check It Out!")
|
||||
find('.jamtrack_band', text: @jamtrack_acdc_backinblack.original_artist)
|
||||
jamtrack_acdc_backinblack.jam_track_tracks.each do |track|
|
||||
if track.master?
|
||||
find('.jam-track-preview-holder[data-id="' + track.id + '"] img.instrument-icon[data-instrument-id="other"]')
|
||||
|
|
@ -97,9 +57,10 @@ describe "Individual JamTrack Band", :js => true, :type => :feature, :capybara_f
|
|||
find('.jam-track-preview-holder[data-id="' + track.id + '"] .instrument-name', text:track.instrument.description)
|
||||
end
|
||||
end
|
||||
find('a.white-bordered-button')['href'].should eq("/client?artist=#{jamtrack_acdc_backinblack.original_artist}#/jamtrackBrowse")
|
||||
find('a.cta-free-jamtrack')['href'].should eq("/client?artist=#{jamtrack_acdc_backinblack.original_artist}#/jamtrackBrowse")
|
||||
find('a.browse-jamtracks')['href'].should eq("/client?artist=#{jamtrack_acdc_backinblack.original_artist}#/jamtrackBrowse")
|
||||
|
||||
find('a.white-bordered-button').trigger(:click)
|
||||
find('a.browse-jamtracks').trigger(:click)
|
||||
find('h1', text: 'jamtracks')
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -31,44 +31,19 @@ describe "Individual JamTrack", :js => true, :type => :feature, :capybara_featur
|
|||
}
|
||||
}
|
||||
|
||||
def create_account(user, billing_info)
|
||||
@recurlyClient.create_account(user, billing_info)
|
||||
@created_accounts << user
|
||||
end
|
||||
|
||||
|
||||
before(:all) do
|
||||
|
||||
@recurlyClient = RecurlyClient.new
|
||||
@created_accounts = []
|
||||
|
||||
@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
|
||||
|
||||
# make sure plans are there
|
||||
@recurlyClient.create_jam_track_plan(@jamtrack_acdc_backinblack) unless @recurlyClient.find_jam_track_plan(@jamtrack_acdc_backinblack)
|
||||
end
|
||||
|
||||
|
||||
after(:each) do
|
||||
@created_accounts.each do |user|
|
||||
if user.recurly_code
|
||||
begin
|
||||
@account = Recurly::Account.find(user.recurly_code)
|
||||
if @account.present?
|
||||
@account.destroy
|
||||
end
|
||||
rescue
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe "AC/DC Back in Black" do
|
||||
|
||||
it "logged out" do
|
||||
visit "/landing/jamtracks/acdc-backinblack"
|
||||
|
||||
find('h1', text: 'Check Out Our Back in Black JamTrack')
|
||||
find('.jamtrack_name', '"Back in Black"')
|
||||
find('.jamtrack_band', '"AC/DC"')
|
||||
jamtrack_acdc_backinblack.jam_track_tracks.each do |track|
|
||||
if track.master?
|
||||
find('.jam-track-preview-holder[data-id="' + track.id + '"] img.instrument-icon[data-instrument-id="other"]')
|
||||
|
|
@ -78,16 +53,18 @@ describe "Individual JamTrack", :js => true, :type => :feature, :capybara_featur
|
|||
find('.jam-track-preview-holder[data-id="' + track.id + '"] .instrument-name', text:track.instrument.description)
|
||||
end
|
||||
end
|
||||
find('a.white-bordered-button')['href'].should eq("/client?artist=#{jamtrack_acdc_backinblack.original_artist}#/jamtrackBrowse")
|
||||
find('a.cta-free-jamtrack')['href'].should eq("/client?artist=#{jamtrack_acdc_backinblack.original_artist}#/jamtrackBrowse")
|
||||
find('a.browse-jamtracks')['href'].should eq("/client?artist=#{jamtrack_acdc_backinblack.original_artist}#/jamtrackBrowse")
|
||||
|
||||
find('a.white-bordered-button').trigger(:click)
|
||||
find('a.browse-jamtracks').trigger(:click)
|
||||
find('h1', text: 'jamtracks')
|
||||
end
|
||||
|
||||
it "logged in" do
|
||||
fast_signin(user, "/landing/jamtracks/acdc-backinblack")
|
||||
|
||||
find('h1', text: 'Check Out Our Back in Black JamTrack')
|
||||
find('.jamtrack_name', '"Back in Black"')
|
||||
find('.jamtrack_band', '"AC/DC"')
|
||||
jamtrack_acdc_backinblack.jam_track_tracks.each do |track|
|
||||
if track.master?
|
||||
find('.jam-track-preview-holder[data-id="' + track.id + '"] img.instrument-icon[data-instrument-id="other"]')
|
||||
|
|
@ -97,16 +74,17 @@ describe "Individual JamTrack", :js => true, :type => :feature, :capybara_featur
|
|||
find('.jam-track-preview-holder[data-id="' + track.id + '"] .instrument-name', text:track.instrument.description)
|
||||
end
|
||||
end
|
||||
find('a.white-bordered-button')['href'].should eq("/client?artist=#{jamtrack_acdc_backinblack.original_artist}#/jamtrackBrowse")
|
||||
find('a.cta-free-jamtrack')['href'].should eq("/client?artist=#{jamtrack_acdc_backinblack.original_artist}#/jamtrackBrowse")
|
||||
find('a.browse-jamtracks')['href'].should eq("/client?artist=#{jamtrack_acdc_backinblack.original_artist}#/jamtrackBrowse")
|
||||
|
||||
find('a.white-bordered-button').trigger(:click)
|
||||
find('a.browse-jamtracks').trigger(:click)
|
||||
find('h1', text: 'jamtracks')
|
||||
end
|
||||
|
||||
it "generic version" do
|
||||
visit "/landing/jamtracks/acdc-backinblack?generic=true"
|
||||
|
||||
find('h1', text: 'We Have 100+ Amazing JamTracks, Check One Out!')
|
||||
find('h1', text: 'Preview One of Our JamTracks')
|
||||
jamtrack_acdc_backinblack.jam_track_tracks.each do |track|
|
||||
if track.master?
|
||||
find('.jam-track-preview-holder[data-id="' + track.id + '"] img.instrument-icon[data-instrument-id="other"]')
|
||||
|
|
@ -116,10 +94,13 @@ describe "Individual JamTrack", :js => true, :type => :feature, :capybara_featur
|
|||
find('.jam-track-preview-holder[data-id="' + track.id + '"] .instrument-name', text:track.instrument.description)
|
||||
end
|
||||
end
|
||||
find('a.white-bordered-button')['href'].should eq("/client#/jamtrackBrowse")
|
||||
find('a.cta-free-jamtrack')['href'].should eq("/client#/jamtrackBrowse")
|
||||
find('a.browse-jamtracks')['href'].should eq("/client#/jamtrackBrowse")
|
||||
|
||||
find('a.white-bordered-button').trigger(:click)
|
||||
find('a.browse-jamtracks').trigger(:click)
|
||||
find('h1', text: 'jamtracks')
|
||||
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -35,9 +35,9 @@ describe "JamTrack Shopping", :js => true, :type => :feature, :capybara_feature
|
|||
|
||||
def find_jamtrack jamtrack, options = {}
|
||||
jamtrack_record = find(".jamtrack-record[jamtrack-id=\"#{jamtrack.id}\"]")
|
||||
jamtrack_record.find('.detail-value', text: jamtrack.name)
|
||||
#jamtrack_record.find('.detail-value', text: jamtrack.name)
|
||||
#jamtrack_record.find('.detail-value', text: jamtrack.recording_type)
|
||||
jamtrack_record.find('.detail-value', text: jamtrack.original_artist)
|
||||
#jamtrack_record.find('.detail-value', text: jamtrack.original_artist)
|
||||
# jamtrack_record.find('.detail-value', text: jamtrack.genre.description)
|
||||
# jamtrack_record.find('.detail-value', text: [jamtrack.songwriter, jamtrack.publisher].join(', '))
|
||||
# jamtrack_record.find('.copyright-value', text: jamtrack.licensor.name)
|
||||
|
|
|
|||
|
|
@ -15,54 +15,14 @@ describe "Product Pages", :js => true, :type => :feature, :capybara_feature => t
|
|||
let(:user) { FactoryGirl.create(:user) }
|
||||
let(:jamtrack_acdc_backinblack) { @jamtrack_acdc_backinblack }
|
||||
|
||||
let(:billing_info) {
|
||||
{
|
||||
first_name: 'Seth',
|
||||
last_name: 'Call',
|
||||
address1: '10704 Buckthorn Drive',
|
||||
city: 'Austin',
|
||||
state: 'Texas',
|
||||
country: 'US',
|
||||
zip: '78759',
|
||||
number: '4111111111111111',
|
||||
month: '08',
|
||||
year: '2017',
|
||||
verification_value: '012'
|
||||
}
|
||||
}
|
||||
|
||||
def create_account(user, billing_info)
|
||||
@recurlyClient.create_account(user, billing_info)
|
||||
@created_accounts << user
|
||||
end
|
||||
|
||||
|
||||
before(:all) do
|
||||
|
||||
@recurlyClient = RecurlyClient.new
|
||||
@created_accounts = []
|
||||
|
||||
@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')
|
||||
|
||||
# make sure plans are there
|
||||
@recurlyClient.create_jam_track_plan(@jamtrack_acdc_backinblack) unless @recurlyClient.find_jam_track_plan(@jamtrack_acdc_backinblack)
|
||||
end
|
||||
|
||||
|
||||
after(:each) do
|
||||
@created_accounts.each do |user|
|
||||
if user.recurly_code
|
||||
begin
|
||||
@account = Recurly::Account.find(user.recurly_code)
|
||||
if @account.present?
|
||||
@account.destroy
|
||||
end
|
||||
rescue
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe "JamBlaster" do
|
||||
|
||||
before(:all) do
|
||||
|
|
|
|||
|
|
@ -293,7 +293,7 @@ describe "Signup", :js => true, :type => :feature, :capybara_feature => true do
|
|||
|
||||
# get a anonymous cookie set up
|
||||
anon_user_id = page.driver.cookies["user_uuid"]
|
||||
anon_user = AnonymousUser.new(anon_user_id.value)
|
||||
anon_user = AnonymousUser.new(anon_user_id.value, {})
|
||||
SignupHint.refresh_by_anoymous_user(anon_user, {redirect_location: '/products/jamblaster', want_jamblaster: true})
|
||||
|
||||
visit signup_path
|
||||
|
|
@ -321,7 +321,7 @@ describe "Signup", :js => true, :type => :feature, :capybara_feature => true do
|
|||
|
||||
# get a anonymous cookie set up
|
||||
anon_user_id = page.driver.cookies["user_uuid"]
|
||||
anon_user = AnonymousUser.new(anon_user_id.value)
|
||||
anon_user = AnonymousUser.new(anon_user_id.value, {})
|
||||
hint = SignupHint.refresh_by_anoymous_user(anon_user, {redirect_location: '/products/jamblaster', want_jamblaster: true})
|
||||
hint.expires_at = 1.day.ago
|
||||
hint.save!
|
||||
|
|
|
|||
Loading…
Reference in New Issue