Commit 6d8e36d1d72b017c34c117d3ff9377ed15300113

Authored by Andrew Kane
1 parent 79ef0598

Fixed relation tests

test/parameters_test.rb
... ... @@ -43,13 +43,13 @@ class ParametersTest < Minitest::Test
43 43 def test_where_permitted_relation
44 44 store [{name: "Product A", store_id: 1}, {name: "Product B", store_id: 2}]
45 45 params = ActionController::Parameters.new({store_id: 1})
46   - assert_equal ["Product A"], Product.search("product").where(params.permit(:store_id)).map(&:name)
  46 + assert_search_relation ["Product A"], Product.search("product").where(params.permit(:store_id))
47 47 end
48 48  
49 49 def test_rewhere_permitted_relation
50 50 store [{name: "Product A", store_id: 1}, {name: "Product B", store_id: 2}]
51 51 params = ActionController::Parameters.new({store_id: 1})
52   - assert_equal ["Product A"], Product.search("product").rewhere(params.permit(:store_id)).map(&:name)
  52 + assert_search_relation ["Product A"], Product.search("product").rewhere(params.permit(:store_id))
53 53 end
54 54  
55 55 def test_where_value
... ... @@ -61,13 +61,13 @@ class ParametersTest < Minitest::Test
61 61 def test_where_value_relation
62 62 store [{name: "Product A", store_id: 1}, {name: "Product B", store_id: 2}]
63 63 params = ActionController::Parameters.new({store_id: 1})
64   - assert_equal ["Product A"], Product.search("product").where(store_id: params[:store_id]).map(&:name)
  64 + assert_search_relation ["Product A"], Product.search("product").where(store_id: params[:store_id])
65 65 end
66 66  
67 67 def test_rewhere_value_relation
68 68 store [{name: "Product A", store_id: 1}, {name: "Product B", store_id: 2}]
69 69 params = ActionController::Parameters.new({store_id: 1})
70   - assert_equal ["Product A"], Product.search("product").where(store_id: params[:store_id]).map(&:name)
  70 + assert_search_relation ["Product A"], Product.search("product").where(store_id: params[:store_id])
71 71 end
72 72  
73 73 def test_where_hash
... ...
test/support/helpers.rb
... ... @@ -53,6 +53,10 @@ class Minitest::Test
53 53 assert_equal expected.sort, model.search(term, **options).map(&:name).sort
54 54 end
55 55  
  56 + def assert_search_relation(expected, relation)
  57 + assert_equal expected.sort, relation.map(&:name).sort
  58 + end
  59 +
56 60 def assert_order(term, expected, options = {}, model = default_model)
57 61 assert_equal expected, model.search(term, **options).map(&:name)
58 62 end
... ...
test/where_test.rb
... ... @@ -90,13 +90,13 @@ class WhereTest < Minitest::Test
90 90 {name: "Product C", store_id: 3, in_stock: false, backordered: true, created_at: now - 2, orders_count: 2, user_ids: [1, 3]},
91 91 {name: "Product D", store_id: 4, in_stock: false, backordered: false, created_at: now - 3, orders_count: 1}
92 92 ]
93   - assert_equal ["Product A", "Product B"], Product.search("product").where(in_stock: true).map(&:name)
  93 + assert_search_relation ["Product A", "Product B"], Product.search("product").where(in_stock: true)
94 94  
95 95 # multiple where
96   - assert_equal ["Product A"], Product.search("product").where(in_stock: true).where(backordered: true).map(&:name)
  96 + assert_search_relation ["Product A"], Product.search("product").where(in_stock: true).where(backordered: true)
97 97  
98 98 # rewhere
99   - assert_equal ["Product A", "Product C"], Product.search("product").where(in_stock: true).rewhere(backordered: true).map(&:name)
  99 + assert_search_relation ["Product A", "Product C"], Product.search("product").where(in_stock: true).rewhere(backordered: true)
100 100 end
101 101  
102 102 def test_where_string_operators
... ...