Sha256: 67927b960b510bd1a5e3b4eb94033169e1dfc605e0d6ef56b4aecc7c44bc2ec3

Contents?: true

Size: 1.14 KB

Versions: 3

Compression:

Stored size: 1.14 KB

Contents

require 'test_helper'

module Workarea
  module Search
    class Storefront
      class PackageProductTest < TestCase
        def packaged_products
          @packaged_products ||= [
            create_product(variants: [{ sku: 'SKU1' }]),
            create_product(variants: [{ sku: 'SKU2' }]),
            create_product(variants: [{ sku: 'SKU3' }])
          ]
        end

        def product
          @product ||= Catalog::Product.new(
            product_ids: packaged_products.map(&:id)
          )
        end

        def search_model
          @search_model ||= PackageProduct.new(product)
        end

        def test_skus
          assert_equal(3, search_model.skus.length)
          assert_includes(search_model.skus, 'SKU1')
          assert_includes(search_model.skus, 'SKU2')
          assert_includes(search_model.skus, 'SKU3')
        end

        def test_variant_count
          assert_equal(3, search_model.variant_count)
        end

        def test_packaged_products_handles_nonexistent_ids
          product.product_ids << 'foo'

          assert_equal(3, search_model.send(:packaged_products).size)
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
workarea-package_products-3.4.1 test/models/workarea/search/storefront/package_product_test.rb
workarea-package_products-3.4.0 test/models/workarea/search/storefront/package_product_test.rb
workarea-package_products-3.3.3 test/models/workarea/search/storefront/package_product_test.rb