Sha256: 6132826fb38b658de49155e31a0f51031c18beea92da8f6dcb4b9d05612bf119

Contents?: true

Size: 1.5 KB

Versions: 4

Compression:

Stored size: 1.5 KB

Contents

require File.expand_path("test_helper", __dir__)

class BooleanTest < SearchCop::TestCase
  def test_mapping
    product = create(:product, available: true)

    assert_includes Product.search("available: 1"), product
    assert_includes Product.search("available: true"), product
    assert_includes Product.search("available: yes"), product

    product = create(:product, available: false)

    assert_includes Product.search("available: 0"), product
    assert_includes Product.search("available: false"), product
    assert_includes Product.search("available: no"), product
  end

  def test_anywhere
    product = create(:product, available: true)

    assert_includes Product.search("true"), product
    refute_includes Product.search("false"), product
  end

  def test_includes
    product = create(:product, available: true)

    assert_includes Product.search("available: true"), product
    refute_includes Product.search("available: false"), product
  end

  def test_equals
    product = create(:product, available: true)

    assert_includes Product.search("available = true"), product
    refute_includes Product.search("available = false"), product
  end

  def test_equals_not
    product = create(:product, available: false)

    assert_includes Product.search("available != true"), product
    refute_includes Product.search("available != false"), product
  end

  def test_incompatible_datatype
    assert_raises SearchCop::IncompatibleDatatype do
      Product.unsafe_search "available: Value"
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
search_cop-1.2.3 test/boolean_test.rb
search_cop-1.2.2 test/boolean_test.rb
search_cop-1.2.1 test/boolean_test.rb
search_cop-1.2.0 test/boolean_test.rb