Commit 431d633dd8d3f5002d044e6e7907269c081e7385
1 parent
4f74b9af
Exists in
master
and in
5 other branches
Improved test output
Showing
4 changed files
with
34 additions
and
9 deletions
Show diff stats
test/query_test.rb
... | ... | @@ -84,6 +84,8 @@ class QueryTest < Minitest::Test |
84 | 84 | skip unless activerecord? |
85 | 85 | |
86 | 86 | store_names ["Product A", "Product B"] |
87 | - assert_search "product", ["Product A"], scope_results: ->(r) { r.where(name: "Product A") } | |
87 | + assert_warns "Records in search index do not exist in database" do | |
88 | + assert_search "product", ["Product A"], scope_results: ->(r) { r.where(name: "Product A") } | |
89 | + end | |
88 | 90 | end |
89 | 91 | end | ... | ... |
test/reindex_test.rb
... | ... | @@ -145,7 +145,9 @@ class ReindexTest < Minitest::Test |
145 | 145 | def test_full_partial_async |
146 | 146 | store_names ["Product A"] |
147 | 147 | # warn for now |
148 | - Product.reindex(:search_name, async: true) | |
148 | + assert_warns "unsupported keywords: :async" do | |
149 | + Product.reindex(:search_name, async: true) | |
150 | + end | |
149 | 151 | end |
150 | 152 | |
151 | 153 | def test_callbacks_false | ... | ... |
test/test_helper.rb
... | ... | @@ -114,6 +114,13 @@ class Minitest::Test |
114 | 114 | assert_search(term, expected, options, klass) |
115 | 115 | end |
116 | 116 | |
117 | + def assert_warns(message) | |
118 | + _, stderr = capture_io do | |
119 | + yield | |
120 | + end | |
121 | + assert_match "[searchkick] WARNING: #{message}", stderr | |
122 | + end | |
123 | + | |
117 | 124 | def with_options(options, klass = default_model) |
118 | 125 | previous_options = klass.searchkick_options.dup |
119 | 126 | begin | ... | ... |
test/where_test.rb
... | ... | @@ -113,24 +113,38 @@ class WhereTest < Minitest::Test |
113 | 113 | store_names ["abcde"] |
114 | 114 | # regular expressions are always anchored right now |
115 | 115 | # TODO change in future release |
116 | - assert_search "*", [], where: {name: /abcd/} | |
117 | - assert_search "*", [], where: {name: /bcde/} | |
118 | - assert_search "*", ["abcde"], where: {name: /abcde/} | |
119 | - assert_search "*", ["abcde"], where: {name: /.*bcd.*/} | |
116 | + assert_warns "Regular expressions are always anchored in Elasticsearch" do | |
117 | + assert_search "*", [], where: {name: /abcd/} | |
118 | + end | |
119 | + assert_warns "Regular expressions are always anchored in Elasticsearch" do | |
120 | + assert_search "*", [], where: {name: /bcde/} | |
121 | + end | |
122 | + assert_warns "Regular expressions are always anchored in Elasticsearch" do | |
123 | + assert_search "*", ["abcde"], where: {name: /abcde/} | |
124 | + end | |
125 | + assert_warns "Regular expressions are always anchored in Elasticsearch" do | |
126 | + assert_search "*", ["abcde"], where: {name: /.*bcd.*/} | |
127 | + end | |
120 | 128 | end |
121 | 129 | |
122 | 130 | def test_regexp_anchored |
123 | 131 | store_names ["abcde"] |
124 | 132 | assert_search "*", ["abcde"], where: {name: /\Aabcde\z/} |
125 | - assert_search "*", [], where: {name: /\Abcd/} | |
126 | - assert_search "*", [], where: {name: /bcd\z/} | |
133 | + assert_warns "Regular expressions are always anchored in Elasticsearch" do | |
134 | + assert_search "*", [], where: {name: /\Abcd/} | |
135 | + end | |
136 | + assert_warns "Regular expressions are always anchored in Elasticsearch" do | |
137 | + assert_search "*", [], where: {name: /bcd\z/} | |
138 | + end | |
127 | 139 | end |
128 | 140 | |
129 | 141 | def test_regexp_case |
130 | 142 | store_names ["abcde"] |
131 | 143 | assert_search "*", [], where: {name: /\AABCDE\z/} |
132 | 144 | # flags don't work |
133 | - assert_search "*", [], where: {name: /\AABCDE\z/i} | |
145 | + assert_warns "Case-insensitive flag does not work with Elasticsearch" do | |
146 | + assert_search "*", [], where: {name: /\AABCDE\z/i} | |
147 | + end | |
134 | 148 | end |
135 | 149 | |
136 | 150 | def test_prefix | ... | ... |