Sha256: 3173f626235cef3a021eed6b61a1ed78df81eafec358a3e27ba2fad26ad89353

Contents?: true

Size: 1.93 KB

Versions: 62

Compression:

Stored size: 1.93 KB

Contents

require 'test_helper'

module Workarea
  module Insights
    class StarProductsTest < TestCase
      def test_generate_weekly!
        create_product_by_week(
          product_id: 'foo',
          views_percentile: 100,
          reporting_on: Time.current.last_week,
          conversion_rate: 0.1
        )
        create_product_by_week(
          product_id: 'bar',
          views_percentile: 90,
          reporting_on: Time.current.last_week,
          conversion_rate: 0.2
        )
        create_product_by_week(
          product_id: 'baz',
          views_percentile: 100,
          reporting_on: Time.current.last_week,
          conversion_rate: 0.01
        )
        create_product_by_week(
          product_id: 'qoo',
          views_percentile: 100,
          reporting_on: Time.current.last_week,
          conversion_rate: 0.02
        )

        StarProducts.generate_weekly!
        assert_equal(1, StarProducts.count)

        star_products = StarProducts.first
        assert_equal(1, star_products.results.size)
        assert_equal('foo', star_products.results.first['product_id'])
        assert_equal(0.1, star_products.results.first['conversion_rate'])
      end

      def test_avg_conversion_rate_of_top_two_views_deciles
        create_product_by_week(
          views_percentile: 100,
          reporting_on: Time.current.last_week,
          conversion_rate: 0.1
        )
        create_product_by_week(
          views_percentile: 90,
          reporting_on: Time.current.last_week,
          conversion_rate: 0.2
        )
        create_product_by_week(
          views_percentile: 90,
          reporting_on: 2.weeks.ago,
          conversion_rate: 0.01
        )
        create_product_by_week(
          views_percentile: 80,
          reporting_on: Time.current.last_week,
          conversion_rate: 0.01
        )

        assert_in_delta(0.15, StarProducts.avg_conversion_rate_of_top_two_views_deciles)
      end
    end
  end
end

Version data entries

62 entries across 62 versions & 1 rubygems

Version Path
workarea-core-3.5.27 test/models/workarea/insights/star_products_test.rb
workarea-core-3.5.26 test/models/workarea/insights/star_products_test.rb
workarea-core-3.4.45 test/models/workarea/insights/star_products_test.rb
workarea-core-3.5.25 test/models/workarea/insights/star_products_test.rb
workarea-core-3.5.23 test/models/workarea/insights/star_products_test.rb
workarea-core-3.4.44 test/models/workarea/insights/star_products_test.rb
workarea-core-3.5.22 test/models/workarea/insights/star_products_test.rb
workarea-core-3.4.43 test/models/workarea/insights/star_products_test.rb
workarea-core-3.5.21 test/models/workarea/insights/star_products_test.rb
workarea-core-3.4.42 test/models/workarea/insights/star_products_test.rb
workarea-core-3.5.20 test/models/workarea/insights/star_products_test.rb
workarea-core-3.4.41 test/models/workarea/insights/star_products_test.rb
workarea-core-3.5.19 test/models/workarea/insights/star_products_test.rb
workarea-core-3.4.40 test/models/workarea/insights/star_products_test.rb
workarea-core-3.5.18 test/models/workarea/insights/star_products_test.rb
workarea-core-3.4.39 test/models/workarea/insights/star_products_test.rb
workarea-core-3.5.17 test/models/workarea/insights/star_products_test.rb
workarea-core-3.4.38 test/models/workarea/insights/star_products_test.rb
workarea-core-3.5.16 test/models/workarea/insights/star_products_test.rb
workarea-core-3.4.37 test/models/workarea/insights/star_products_test.rb