Sha256: 35e48fff028ebfe5d1f2f88b577466ccea4a4346cbf11327757d7a426fcfc0cd

Contents?: true

Size: 1.93 KB

Versions: 14

Compression:

Stored size: 1.93 KB

Contents

require 'test_helper'

module Workarea
  class ProductReleasesTest < TestCase
    def test_product_changes
      product = create_product(name: 'Foo')
      release_one = create_release
      release_one.as_current { product.update!(name: 'Bar') }

      assert_equal([release_one], ProductReleases.new(product).releases)

      release_one.update!(publish_at: 1.day.from_now)
      release_two = create_release(publish_at: 3.days.from_now)
      assert_equal([release_one, release_two], ProductReleases.new(product).releases)
    end

    def test_featured_product_changes
      product = create_product
      category = create_category

      release_one = create_release
      release_one.as_current { category.update!(product_ids: [product.id]) }
      assert_equal([release_one], ProductReleases.new(product).releases)

      release_one.update!(publish_at: 1.day.from_now)
      release_two = create_release(publish_at: 3.days.from_now)
      assert_equal([release_one, release_two], ProductReleases.new(product).releases)
    end

    def test_variant_changes
      product = create_product(variants: [{ sku: 'SKU' }])
      release = create_release
      release.as_current { product.variants.first.update!(details: { color: 'Red' }) }
      assert_equal([release], ProductReleases.new(product).releases)
    end

    def test_pricing_changes
      product = create_product(variants: [{ sku: 'SKU' }])
      pricing = Pricing::Sku.find('SKU')

      release = create_release
      release.as_current { pricing.prices.first.update!(regular: 10_000) }
      assert_equal([release], ProductReleases.new(product).releases)
    end

    def test_changesets_with_missing_releases
      product = create_product(name: 'Foo')
      release = create_release
      release.as_current { product.update!(name: 'Bar') }
      release.delete

      assert_nil(product.reload.changesets.first.release)
      assert_equal([], ProductReleases.new(product).releases)
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
workarea-core-3.5.12 test/queries/workarea/product_releases_test.rb
workarea-core-3.5.11 test/queries/workarea/product_releases_test.rb
workarea-core-3.5.10 test/queries/workarea/product_releases_test.rb
workarea-core-3.5.9 test/queries/workarea/product_releases_test.rb
workarea-core-3.5.8 test/queries/workarea/product_releases_test.rb
workarea-core-3.5.7 test/queries/workarea/product_releases_test.rb
workarea-core-3.5.6 test/queries/workarea/product_releases_test.rb
workarea-core-3.5.5 test/queries/workarea/product_releases_test.rb
workarea-core-3.5.4 test/queries/workarea/product_releases_test.rb
workarea-core-3.5.3 test/queries/workarea/product_releases_test.rb
workarea-core-3.5.2 test/queries/workarea/product_releases_test.rb
workarea-core-3.5.1 test/queries/workarea/product_releases_test.rb
workarea-core-3.5.0 test/queries/workarea/product_releases_test.rb
workarea-core-3.5.0.beta.1 test/queries/workarea/product_releases_test.rb