diff --git a/ruby/lib/jam_ruby/models/jam_track_right.rb b/ruby/lib/jam_ruby/models/jam_track_right.rb index 98ea69a51..5f919c13b 100644 --- a/ruby/lib/jam_ruby/models/jam_track_right.rb +++ b/ruby/lib/jam_ruby/models/jam_track_right.rb @@ -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 diff --git a/web/app/assets/images/web/free-jamtrack-cta.png b/web/app/assets/images/web/free-jamtrack-cta.png new file mode 100644 index 000000000..c8f073167 Binary files /dev/null and b/web/app/assets/images/web/free-jamtrack-cta.png differ diff --git a/web/app/assets/javascripts/jam_track_preview.js.coffee b/web/app/assets/javascripts/jam_track_preview.js.coffee index 58388278b..a02a45896 100644 --- a/web/app/assets/javascripts/jam_track_preview.js.coffee +++ b/web/app/assets/javascripts/jam_track_preview.js.coffee @@ -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? diff --git a/web/app/assets/javascripts/web/individual_jamtrack.js b/web/app/assets/javascripts/web/individual_jamtrack.js index 2d33e9c5d..172a94bc2 100644 --- a/web/app/assets/javascripts/web/individual_jamtrack.js +++ b/web/app/assets/javascripts/web/individual_jamtrack.js @@ -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('
') + + }) .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(); } diff --git a/web/app/assets/javascripts/web/individual_jamtrack_band.js b/web/app/assets/javascripts/web/individual_jamtrack_band.js index df08517c9..afc4528a5 100644 --- a/web/app/assets/javascripts/web/individual_jamtrack_band.js +++ b/web/app/assets/javascripts/web/individual_jamtrack_band.js @@ -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 = $('
') $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('
') @@ -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(); } diff --git a/web/app/assets/stylesheets/client/jamTrackPreview.css.scss b/web/app/assets/stylesheets/client/jamTrackPreview.css.scss index 71145f1a4..37b871e77 100644 --- a/web/app/assets/stylesheets/client/jamTrackPreview.css.scss +++ b/web/app/assets/stylesheets/client/jamTrackPreview.css.scss @@ -68,4 +68,10 @@ display:none; } } + + .adds-line-break { + display:block; + margin-left:66px; + vertical-align: top; + } } \ No newline at end of file diff --git a/web/app/assets/stylesheets/landings/individual_jamtrack.css.scss b/web/app/assets/stylesheets/landings/individual_jamtrack.css.scss index 6111876ee..773f12be1 100644 --- a/web/app/assets/stylesheets/landings/individual_jamtrack.css.scss +++ b/web/app/assets/stylesheets/landings/individual_jamtrack.css.scss @@ -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%; } } } \ No newline at end of file diff --git a/web/app/assets/stylesheets/landings/individual_jamtrack_band.css.scss b/web/app/assets/stylesheets/landings/individual_jamtrack_band.css.scss index db25181b1..56c4fc1ae 100644 --- a/web/app/assets/stylesheets/landings/individual_jamtrack_band.css.scss +++ b/web/app/assets/stylesheets/landings/individual_jamtrack_band.css.scss @@ -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%; } } } \ No newline at end of file diff --git a/web/app/assets/stylesheets/landings/landing_page_new.css.scss b/web/app/assets/stylesheets/landings/landing_page_new.css.scss index 897152536..85381683d 100644 --- a/web/app/assets/stylesheets/landings/landing_page_new.css.scss +++ b/web/app/assets/stylesheets/landings/landing_page_new.css.scss @@ -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 { diff --git a/web/app/controllers/api_jam_tracks_controller.rb b/web/app/controllers/api_jam_tracks_controller.rb index a6a3bc44c..d85f93bd9 100644 --- a/web/app/controllers/api_jam_tracks_controller.rb +++ b/web/app/controllers/api_jam_tracks_controller.rb @@ -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 diff --git a/web/app/controllers/landings_controller.rb b/web/app/controllers/landings_controller.rb index e7e7150ca..5700ac543 100644 --- a/web/app/controllers/landings_controller.rb +++ b/web/app/controllers/landings_controller.rb @@ -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 diff --git a/web/app/views/dialogs/_videoDialog.html.erb b/web/app/views/dialogs/_videoDialog.html.erb index bc2a72099..ec590743e 100644 --- a/web/app/views/dialogs/_videoDialog.html.erb +++ b/web/app/views/dialogs/_videoDialog.html.erb @@ -10,7 +10,7 @@
- +
diff --git a/web/app/views/landings/individual_jamtrack.html.slim b/web/app/views/landings/individual_jamtrack.html.slim index 53d4bc729..c3b6e9daa 100644 --- a/web/app/views/landings/individual_jamtrack.html.slim +++ b/web/app/views/landings/individual_jamtrack.html.slim @@ -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" diff --git a/web/app/views/landings/individual_jamtrack_band.html.slim b/web/app/views/landings/individual_jamtrack_band.html.slim index a16b43745..88237cd56 100644 --- a/web/app/views/landings/individual_jamtrack_band.html.slim +++ b/web/app/views/landings/individual_jamtrack_band.html.slim @@ -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" diff --git a/web/app/views/landings/product_jamblaster.html.slim b/web/app/views/landings/product_jamblaster.html.slim index ad5c22023..1b9e65d06 100644 --- a/web/app/views/landings/product_jamblaster.html.slim +++ b/web/app/views/landings/product_jamblaster.html.slim @@ -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 diff --git a/web/app/views/landings/product_jamtracks.html.slim b/web/app/views/landings/product_jamtracks.html.slim index 86aff514e..acfaeffd1 100644 --- a/web/app/views/landings/product_jamtracks.html.slim +++ b/web/app/views/landings/product_jamtracks.html.slim @@ -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 diff --git a/web/app/views/landings/product_platform.html.slim b/web/app/views/landings/product_platform.html.slim index ecb6d8c9c..13d2647ce 100644 --- a/web/app/views/landings/product_platform.html.slim +++ b/web/app/views/landings/product_platform.html.slim @@ -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 diff --git a/web/app/views/landings/watch_bands_1.html.slim b/web/app/views/landings/watch_bands_1.html.slim index a271b1735..6b178d59e 100644 --- a/web/app/views/landings/watch_bands_1.html.slim +++ b/web/app/views/landings/watch_bands_1.html.slim @@ -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" diff --git a/web/app/views/landings/watch_bands_2.html.slim b/web/app/views/landings/watch_bands_2.html.slim index 504b83120..76fa70ff2 100644 --- a/web/app/views/landings/watch_bands_2.html.slim +++ b/web/app/views/landings/watch_bands_2.html.slim @@ -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" diff --git a/web/app/views/landings/watch_bands_3.html.slim b/web/app/views/landings/watch_bands_3.html.slim index 814578d58..7982c99ba 100644 --- a/web/app/views/landings/watch_bands_3.html.slim +++ b/web/app/views/landings/watch_bands_3.html.slim @@ -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" diff --git a/web/app/views/landings/watch_bands_tight.html.slim b/web/app/views/landings/watch_bands_tight.html.slim index 70ce2f991..84ec2fc51 100644 --- a/web/app/views/landings/watch_bands_tight.html.slim +++ b/web/app/views/landings/watch_bands_tight.html.slim @@ -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 diff --git a/web/app/views/landings/watch_kick.html.slim b/web/app/views/landings/watch_kick.html.slim index 3e39eb859..03dd463f1 100644 --- a/web/app/views/landings/watch_kick.html.slim +++ b/web/app/views/landings/watch_kick.html.slim @@ -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 diff --git a/web/app/views/landings/watch_kick_2.html.slim b/web/app/views/landings/watch_kick_2.html.slim index 5d038e2f1..05c661e73 100644 --- a/web/app/views/landings/watch_kick_2.html.slim +++ b/web/app/views/landings/watch_kick_2.html.slim @@ -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  diff --git a/web/app/views/landings/watch_kick_3.html.slim b/web/app/views/landings/watch_kick_3.html.slim index 2fc6a788a..602da4342 100644 --- a/web/app/views/landings/watch_kick_3.html.slim +++ b/web/app/views/landings/watch_kick_3.html.slim @@ -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! diff --git a/web/app/views/landings/watch_kick_4.html.slim b/web/app/views/landings/watch_kick_4.html.slim index d11973adc..8a4682104 100644 --- a/web/app/views/landings/watch_kick_4.html.slim +++ b/web/app/views/landings/watch_kick_4.html.slim @@ -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. diff --git a/web/app/views/landings/watch_overview_1.html.slim b/web/app/views/landings/watch_overview_1.html.slim index aef2a3119..6eb6f52c9 100644 --- a/web/app/views/landings/watch_overview_1.html.slim +++ b/web/app/views/landings/watch_overview_1.html.slim @@ -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" diff --git a/web/app/views/landings/watch_overview_2.html.slim b/web/app/views/landings/watch_overview_2.html.slim index 07b5f073d..a6cd76427 100644 --- a/web/app/views/landings/watch_overview_2.html.slim +++ b/web/app/views/landings/watch_overview_2.html.slim @@ -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" diff --git a/web/app/views/landings/watch_overview_3.html.slim b/web/app/views/landings/watch_overview_3.html.slim index 3a18002c3..eaf7d6880 100644 --- a/web/app/views/landings/watch_overview_3.html.slim +++ b/web/app/views/landings/watch_overview_3.html.slim @@ -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" diff --git a/web/app/views/landings/watch_overview_tight.html.slim b/web/app/views/landings/watch_overview_tight.html.slim index c64f0dc78..ca9c5f930 100644 --- a/web/app/views/landings/watch_overview_tight.html.slim +++ b/web/app/views/landings/watch_overview_tight.html.slim @@ -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 diff --git a/web/app/views/layouts/web.html.erb b/web/app/views/layouts/web.html.erb index 417f70dc9..929e8d7ed 100644 --- a/web/app/views/layouts/web.html.erb +++ b/web/app/views/layouts/web.html.erb @@ -54,13 +54,20 @@ <% end %> - <% unless @welcome_page %> + <% unless @welcome_page || @no_landing_tag %>

Live music platform &
social network for musicians

<% end %> + <% if @show_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" %> + $1.99 value +
+ + <% end %>
diff --git a/web/app/views/users/_downloads.html.slim b/web/app/views/users/_downloads.html.slim index f43413be0..8ccd21b4c 100644 --- a/web/app/views/users/_downloads.html.slim +++ b/web/app/views/users/_downloads.html.slim @@ -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 diff --git a/web/spec/controllers/api_jam_tracks_controller_spec.rb b/web/spec/controllers/api_jam_tracks_controller_spec.rb index d96e78d23..fc4685eb9 100644 --- a/web/spec/controllers/api_jam_tracks_controller_spec.rb +++ b/web/spec/controllers/api_jam_tracks_controller_spec.rb @@ -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 diff --git a/web/spec/controllers/api_shopping_carts_controller_spec.rb b/web/spec/controllers/api_shopping_carts_controller_spec.rb index 4c9f69079..c6f196d0d 100644 --- a/web/spec/controllers/api_shopping_carts_controller_spec.rb +++ b/web/spec/controllers/api_shopping_carts_controller_spec.rb @@ -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 diff --git a/web/spec/controllers/api_signup_hint_spec.rb b/web/spec/controllers/api_signup_hint_spec.rb index ac9a4e323..1bafa164a 100644 --- a/web/spec/controllers/api_signup_hint_spec.rb +++ b/web/spec/controllers/api_signup_hint_spec.rb @@ -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 diff --git a/web/spec/features/individual_jamtrack_band_spec.rb b/web/spec/features/individual_jamtrack_band_spec.rb index 9fa47b3b2..badfb8583 100644 --- a/web/spec/features/individual_jamtrack_band_spec.rb +++ b/web/spec/features/individual_jamtrack_band_spec.rb @@ -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 diff --git a/web/spec/features/individual_jamtrack_spec.rb b/web/spec/features/individual_jamtrack_spec.rb index 3483a8b86..1711554b6 100644 --- a/web/spec/features/individual_jamtrack_spec.rb +++ b/web/spec/features/individual_jamtrack_spec.rb @@ -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 diff --git a/web/spec/features/jamtrack_shopping_spec.rb b/web/spec/features/jamtrack_shopping_spec.rb index 3cf01fc6d..23da6a3f4 100644 --- a/web/spec/features/jamtrack_shopping_spec.rb +++ b/web/spec/features/jamtrack_shopping_spec.rb @@ -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) diff --git a/web/spec/features/products_spec.rb b/web/spec/features/products_spec.rb index 4fecc2703..37afb0df8 100644 --- a/web/spec/features/products_spec.rb +++ b/web/spec/features/products_spec.rb @@ -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 diff --git a/web/spec/features/signup_spec.rb b/web/spec/features/signup_spec.rb index 3b1ff4400..ff62b51bf 100644 --- a/web/spec/features/signup_spec.rb +++ b/web/spec/features/signup_spec.rb @@ -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!