[15 Min Fix]: Fix incorrect scope used by metrics:overview rake task (#13138)
* Fix incorrect scope used by metrics:overview rake task * Add spec for metrics:overview rake task * Add guard clause to metrics:overview rake task
This commit is contained in:
parent
f0b8754d4f
commit
a5f014f576
3 changed files with 27 additions and 1 deletions
|
|
@ -7,6 +7,6 @@ module Ahoy
|
|||
belongs_to :visit
|
||||
belongs_to :user, optional: true
|
||||
|
||||
scope :overview_link_clicks, -> { where(name: "Overview Link Clicked") }
|
||||
scope :overview_link_clicks, -> { where(name: "Admin Overview Link Clicked") }
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -3,6 +3,9 @@ namespace :metrics do
|
|||
task overview: :environment do
|
||||
puts "Admin Overview Link Tracking for #{SiteConfig.app_domain}:"
|
||||
links_by_target = Ahoy::Event.overview_link_clicks.group("properties -> 'target'").count
|
||||
|
||||
return unless links_by_target
|
||||
|
||||
links_by_target.each do |k, v|
|
||||
puts "#{k.delete_prefix(URL.url)}: #{v}"
|
||||
end
|
||||
|
|
|
|||
23
spec/tasks/metrics_spec.rb
Normal file
23
spec/tasks/metrics_spec.rb
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
require "rails_helper"
|
||||
|
||||
RSpec.describe "Metrics Overview task", type: :task do
|
||||
before do
|
||||
Rake::Task.clear
|
||||
PracticalDeveloper::Application.load_tasks
|
||||
end
|
||||
|
||||
describe "#overview" do
|
||||
let(:event_name) { "Admin Overview Link Clicked" }
|
||||
let(:click_target) { "https://forem.gitbook.io/forem-admin-guide/quick-start-guide" }
|
||||
|
||||
it "returns the event count and target for admin overview events" do
|
||||
create(:ahoy_event, name: event_name, properties: {
|
||||
action: "click", target: click_target
|
||||
})
|
||||
|
||||
expect { Rake::Task["metrics:overview"].invoke }.to output(
|
||||
"Admin Overview Link Tracking for localhost:3000:\n#{click_target}: 1\n",
|
||||
).to_stdout
|
||||
end
|
||||
end
|
||||
end
|
||||
Loading…
Add table
Reference in a new issue