Sha256: 45b637d2f0ef050ecde7595327fe5847a96c433aa17d70ec39253f2d2d6ccee0

Contents?: true

Size: 1.29 KB

Versions: 3

Compression:

Stored size: 1.29 KB

Contents

# frozen_string_literal: true

describe 'Add to cart', type: :system do
  let!(:store) { create(:store) }
  let!(:order) { create :completed_order_with_totals }
  let!(:line_item) { order.line_items.first }

  stub_authorization!

  before do
    current_order_stubs(order)
    stub_const 'ENV', ENV.to_h.merge(env_variable => 'XXX-YYYYY')

    visit spree.product_path(line_item.product)
    find('#add-to-cart-button').click
  end

  context 'when FACEBOOK_PIXEL_ID environment variable is present' do
    let(:env_variable) { 'FACEBOOK_PIXEL_ID' }

    it 'tracks "add to cart" event with product data' do
      expect(page).to track_analytics_event :facebook, 'addtocart', [
        'fbq', 'track', 'AddToCart', line_item.sku
      ]
    end
  end

  context 'when PINTEREST_TAG_ID environment variable is present' do
    let(:env_variable) { 'PINTEREST_TAG_ID' }

    it 'tracks "add to cart" event' do
      expect(page).to track_analytics_event :pinterest, 'addtocart', [
        'track', 'addtocart', order.total, order.number, line_item.variant.product.master.sku,
        line_item.name, line_item.variant.sku, line_item.variant.price
      ]
    end

    it 'skips printing a flash message to the user with added_to_cart raw data' do
      expect(page).to_not have_css '.flash.added_to_cart'
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
solidus_seo-1.1.1 spec/features/add_to_cart_spec.rb
solidus_seo-1.1.0 spec/features/add_to_cart_spec.rb
solidus_seo-1.0.13 spec/features/add_to_cart_spec.rb