From e555126331e63bbdbb8d062c91e1486633a0af25 Mon Sep 17 00:00:00 2001 From: rgarcia Date: Wed, 9 Sep 2015 14:39:31 +0200 Subject: [PATCH] tracks debate visits from the controller --- app/controllers/debates_controller.rb | 2 ++ app/models/debate.rb | 3 --- spec/controllers/debates_controller_spec.rb | 24 +++++++++++++++++++++ 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/app/controllers/debates_controller.rb b/app/controllers/debates_controller.rb index b336a924a..4828e1827 100644 --- a/app/controllers/debates_controller.rb +++ b/app/controllers/debates_controller.rb @@ -13,6 +13,7 @@ class DebatesController < ApplicationController @debates = @debates.page(params[:page]).for_render.send("sort_by_#{@order}") @tag_cloud = Debate.tag_counts.order(taggings_count: :desc, name: :asc).limit(20) set_debate_votes(@debates) + ahoy.track_visit end def show @@ -23,6 +24,7 @@ class DebatesController < ApplicationController @all_visible_comments = @root_comments + @comments set_comment_flags(@all_visible_comments) + ahoy.track_visit end def new diff --git a/app/models/debate.rb b/app/models/debate.rb index 4dfb7b51f..f3443dc2e 100644 --- a/app/models/debate.rb +++ b/app/models/debate.rb @@ -34,9 +34,6 @@ class Debate < ActiveRecord::Base scope :sort_by_most_commented, -> { order(comments_count: :desc) } scope :sort_by_random, -> { order("RANDOM()") } - # Ahoy setup - visitable # Ahoy will automatically assign visit_id on create - def likes cached_votes_up end diff --git a/spec/controllers/debates_controller_spec.rb b/spec/controllers/debates_controller_spec.rb index f87635a6b..23c49bcf2 100644 --- a/spec/controllers/debates_controller_spec.rb +++ b/spec/controllers/debates_controller_spec.rb @@ -11,6 +11,30 @@ describe DebatesController do SimpleCaptcha.always_pass = @original_captcha_pass_value end + describe 'GET show' do + it 'should create an ahoy visit' do + debate = create(:debate) + sign_in create(:user) + + get :show, id: debate.id + + expect(Visit.count).to eq 1 + expect(Visit.first.landing_page).to eq debate_url(debate) + end + end + + describe 'GET index' do + it 'should create an ahoy visit' do + debate = create(:debate) + sign_in create(:user) + + get :index + + expect(Visit.count).to eq 1 + expect(Visit.first.landing_page).to eq debates_url + end + end + describe 'POST create' do it 'should create an ahoy event' do