Sha256: 6e7aefbb9bbbb5d2437d36f91fae9e887f6a127e754330791e7bbe3e09940f32
Contents?: true
Size: 1.7 KB
Versions: 1
Compression:
Stored size: 1.7 KB
Contents
require 'spec_helper' describe Staccato::Subscribers::Page do let(:tracker) { Staccato.tracker(nil) } let(:context) { {} } let(:now) {Time.now.to_i} let(:duration) {49} let(:payload) { # args example from: # http://edgeguides.rubyonrails.org/active_support_instrumentation.html#process-action-action-controller { controller: "PostsController", action: "index", params: {"action" => "index", "controller" => "posts"}, format: :html, path: "/posts", status: 200, view_runtime: 46.848, db_runtime: 0.157, 'staccato.tracker' => tracker, 'staccato.context' => context } } context "on a GET request" do let(:args) { [ "process_action.action_controller", # name now - duration, # starting now, # ending SecureRandom.uuid, # transaction_id payload.merge(method: "GET") ] } let(:page) {Staccato::Subscribers::Page.new(args)} before(:each) do tracker.stubs(:pageview) page.track! end it 'tracks a pageview to google analytics' do expect(tracker).to have_received(:pageview).with(path: '/posts', hostname: 'domain.com') end end context "on a non-GET request" do let(:args) { [ "process_action.action_controller", # name now - duration, # starting now, # ending SecureRandom.uuid, # transaction_id payload.merge(method: "POST") ] } let(:page) {Staccato::Subscribers::Page.new(args)} before(:each) do tracker.stubs(:pageview) page.track! end it 'tracks no pageviews to google analytics' do expect(tracker).to have_received(:pageview).never end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
staccato-rails-0.1.0 | spec/lib/staccato/subscribers/page_spec.rb |