Sha256: e97ed5da254f086e71815e11c350b913a04d396a443f498d96ec597e1b53db1e

Contents?: true

Size: 1.48 KB

Versions: 62

Compression:

Stored size: 1.48 KB

Contents

require 'test_helper'

module Workarea
  module Reports
    class LowInventoryTest < TestCase
      setup :add_data
      teardown :reset_threshold

      def add_data
        @threshold = Workarea.config.low_inventory_threshold
        Workarea.config.low_inventory_threshold = 5

        create_inventory(id: 'foo', available: 5, purchased: 2)
        create_inventory(id: 'bar', available: 4, purchased: 3)
        create_inventory(id: 'baz', available: 3, purchased: 4)
        create_inventory(id: 'qux', available: 1, purchased: 5)
      end

      def reset_threshold
        Workarea.config.low_inventory_threshold = @threshold
      end

      def test_filtering
        report = LowInventory.new
        assert_equal(3, report.count)

        ids = report.results.map { |r| r['_id'] }
        assert_includes(ids, 'bar')
        assert_includes(ids, 'baz')
        assert_includes(ids, 'qux')
      end

      def test_sorting
        report = LowInventory.new(sort_by: 'available', sort_direction: 'asc')
        assert_equal('qux', report.results.first['_id'])

        report = LowInventory.new(sort_by: 'available', sort_direction: 'desc')
        assert_equal('bar', report.results.first['_id'])

        report = LowInventory.new(sort_by: 'purchased', sort_direction: 'asc')
        assert_equal('bar', report.results.first['_id'])

        report = LowInventory.new(sort_by: 'purchased', sort_direction: 'desc')
        assert_equal('qux', report.results.first['_id'])
      end
    end
  end
end

Version data entries

62 entries across 62 versions & 1 rubygems

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