Sha256: 9cc572cbed596d5ecef49d38c1d1b444fcc4bb4da86b5f5e40311c3f1e9b5d41

Contents?: true

Size: 1.95 KB

Versions: 62

Compression:

Stored size: 1.95 KB

Contents

require 'test_helper'

module Workarea
  module Storefront
    class CartPerformanceTest < Workarea::PerformanceTest
      setup :setup_cart

      def setup_cart
        @products = []
        Sidekiq::Callbacks.disable do
          10.times do |i|
            product = create_complex_product(name: "Test Product #{i}")

            post storefront.cart_items_path,
              params: {
                product_id: product.id,
                sku: product.skus.first,
                quantity: 2 + i
              }

              @products << product
          end

          @categories = Array.new(5) do |i|
            create_category(name: "Test Category #{i}", product_ids: @products.sample(4).map(&:id))
          end
        end

        BulkIndexProducts.perform_by_models(@products)

        order_total = create_order_total_discount(promo_codes: %w(TESTCODE))
        buy_some = create_buy_some_get_some_discount(product_ids: [@products.first.id])
        category = create_category_discount(category_ids: [@categories.first.id])
        free_gift = create_free_gift_discount(sku: create_product.skus.first, product_ids: [@products.second.id])
        product_attribute = create_product_attribute_discount(attribute_name: 'Color', attribute_value: 'Red')
        product = create_product_discount(product_ids: @products.map(&:id))
        fixed_price = create_quantity_fixed_price_discount(product_ids: [@products.third.id])

        order_total.update_attributes!(compatible_discount_ids: [category.id, product_attribute.id, free_gift.id])
        buy_some.update_attributes!(compatible_discount_ids: [product.id, fixed_price.id, order_total.id])
        category.update_attributes!(compatible_discount_ids: [fixed_price.id,  product_attribute.id])

        post storefront.add_promo_code_to_cart_path, params: { promo_code: 'TESTCODE' }
      end

      def test_cart_with_many_discounts
        get storefront.cart_path
        assert(response.ok?)
      end
    end
  end
end

Version data entries

62 entries across 62 versions & 1 rubygems

Version Path
workarea-storefront-3.5.15 test/performance/workarea/storefront/cart_performance_test.rb
workarea-storefront-3.4.36 test/performance/workarea/storefront/cart_performance_test.rb
workarea-storefront-3.5.14 test/performance/workarea/storefront/cart_performance_test.rb
workarea-storefront-3.4.35 test/performance/workarea/storefront/cart_performance_test.rb
workarea-storefront-3.5.13 test/performance/workarea/storefront/cart_performance_test.rb
workarea-storefront-3.4.34 test/performance/workarea/storefront/cart_performance_test.rb
workarea-storefront-3.5.12 test/performance/workarea/storefront/cart_performance_test.rb
workarea-storefront-3.4.33 test/performance/workarea/storefront/cart_performance_test.rb
workarea-storefront-3.5.11 test/performance/workarea/storefront/cart_performance_test.rb
workarea-storefront-3.5.10 test/performance/workarea/storefront/cart_performance_test.rb
workarea-storefront-3.4.32 test/performance/workarea/storefront/cart_performance_test.rb
workarea-storefront-3.5.9 test/performance/workarea/storefront/cart_performance_test.rb
workarea-storefront-3.4.31 test/performance/workarea/storefront/cart_performance_test.rb
workarea-storefront-3.5.8 test/performance/workarea/storefront/cart_performance_test.rb
workarea-storefront-3.4.30 test/performance/workarea/storefront/cart_performance_test.rb
workarea-storefront-3.5.7 test/performance/workarea/storefront/cart_performance_test.rb
workarea-storefront-3.4.29 test/performance/workarea/storefront/cart_performance_test.rb
workarea-storefront-3.5.6 test/performance/workarea/storefront/cart_performance_test.rb
workarea-storefront-3.4.28 test/performance/workarea/storefront/cart_performance_test.rb
workarea-storefront-3.5.5 test/performance/workarea/storefront/cart_performance_test.rb