Sha256: 16622d9c9fb2f84dc68866248a7d18295e6cd3d5d9d9cf2813600c7089cba65c

Contents?: true

Size: 1.25 KB

Versions: 13

Compression:

Stored size: 1.25 KB

Contents

require 'spec_helper'

describe Staccato::Measurement::Promotion do
  let(:uri) {Staccato.ga_collection_uri}
  let(:tracker) {Staccato.tracker('UA-XXXX-Y')}
  let(:response) {stub(:body => '', :status => 201)}

  before(:each) do
    SecureRandom.stubs(:uuid).returns('555')
    Net::HTTP.stubs(:post_form).returns(response)
  end

  context 'a pageview with a transaction' do
    let(:pageview) {
      tracker.build_pageview({
        path: '/search', hostname: 'mystore.com',
        title: 'Search Results'
      })
    }

    let(:measurement_options) {{
      index: 1,
      id: 'PROMO_1234',
      name: 'Summer Sale',
      creative: 'summer_sale_banner',
      position: 'banner_1'
    }}

    before(:each) do
      pageview.add_measurement(:promotion, measurement_options)

      pageview.track!
    end

    it 'tracks the measurement' do
      expect(Net::HTTP).to have_received(:post_form).with(uri, {
        'v' => 1,
        'tid' => 'UA-XXXX-Y',
        'cid' => '555',
        't' => 'pageview',
        'dh' => 'mystore.com',
        'dp' => '/search',
        'dt' => 'Search Results',
        'promo1id' => 'PROMO_1234',
        'promo1nm' => 'Summer Sale',
        'promo1cr' => 'summer_sale_banner',
        'promo1ps' => 'banner_1'
      })
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
staccato-0.5.3 spec/integration/measurement/promotion_spec.rb
staccato-0.5.2 spec/integration/measurement/promotion_spec.rb
staccato-0.5.1 spec/integration/measurement/promotion_spec.rb
staccato-0.5.0 spec/integration/measurement/promotion_spec.rb
staccato-0.4.7 spec/integration/measurement/promotion_spec.rb
staccato-0.4.6 spec/integration/measurement/promotion_spec.rb
staccato-0.4.5 spec/integration/measurement/promotion_spec.rb
staccato-0.4.4 spec/integration/measurement/promotion_spec.rb
staccato-0.4.3 spec/integration/measurement/promotion_spec.rb
staccato-0.4.2 spec/integration/measurement/promotion_spec.rb
staccato-0.4.1 spec/integration/measurement/promotion_spec.rb
staccato-0.4.0 spec/integration/measurement/promotion_spec.rb
staccato-0.3.1 spec/integration/measurement/promotion_spec.rb