Commit 7e93b0e74ddd4acf06cf243954abf307e05bb932
1 parent
bdd87da0
Exists in
master
and in
2 other branches
Moved helpers to separate file [skip ci]
Showing
2 changed files
with
86 additions
and
85 deletions
Show diff stats
@@ -0,0 +1,85 @@ | @@ -0,0 +1,85 @@ | ||
1 | +class Minitest::Test | ||
2 | + def setup | ||
3 | + Product.destroy_all | ||
4 | + Store.destroy_all | ||
5 | + Animal.destroy_all | ||
6 | + Speaker.destroy_all | ||
7 | + end | ||
8 | + | ||
9 | + protected | ||
10 | + | ||
11 | + def store(documents, klass = default_model, reindex: true) | ||
12 | + if reindex | ||
13 | + documents.shuffle.each do |document| | ||
14 | + klass.create!(document) | ||
15 | + end | ||
16 | + klass.searchkick_index.refresh | ||
17 | + else | ||
18 | + Searchkick.callbacks(false) do | ||
19 | + documents.shuffle.each do |document| | ||
20 | + klass.create!(document) | ||
21 | + end | ||
22 | + end | ||
23 | + end | ||
24 | + end | ||
25 | + | ||
26 | + def store_names(names, klass = default_model, reindex: true) | ||
27 | + store names.map { |name| {name: name} }, klass, reindex: reindex | ||
28 | + end | ||
29 | + | ||
30 | + # no order | ||
31 | + def assert_search(term, expected, options = {}, klass = default_model) | ||
32 | + assert_equal expected.sort, klass.search(term, **options).map(&:name).sort | ||
33 | + end | ||
34 | + | ||
35 | + def assert_order(term, expected, options = {}, klass = default_model) | ||
36 | + assert_equal expected, klass.search(term, **options).map(&:name) | ||
37 | + end | ||
38 | + | ||
39 | + def assert_equal_scores(term, options = {}, klass = default_model) | ||
40 | + assert_equal 1, klass.search(term, **options).hits.map { |a| a["_score"] }.uniq.size | ||
41 | + end | ||
42 | + | ||
43 | + def assert_first(term, expected, options = {}, klass = default_model) | ||
44 | + assert_equal expected, klass.search(term, **options).map(&:name).first | ||
45 | + end | ||
46 | + | ||
47 | + def assert_misspellings(term, expected, misspellings = {}, klass = default_model) | ||
48 | + options = { | ||
49 | + fields: [:name, :color], | ||
50 | + misspellings: misspellings | ||
51 | + } | ||
52 | + assert_search(term, expected, options, klass) | ||
53 | + end | ||
54 | + | ||
55 | + def assert_warns(message) | ||
56 | + _, stderr = capture_io do | ||
57 | + yield | ||
58 | + end | ||
59 | + assert_match "[searchkick] WARNING: #{message}", stderr | ||
60 | + end | ||
61 | + | ||
62 | + def with_options(options, klass = default_model) | ||
63 | + previous_options = klass.searchkick_options.dup | ||
64 | + begin | ||
65 | + klass.searchkick_options.merge!(options) | ||
66 | + klass.reindex | ||
67 | + yield | ||
68 | + ensure | ||
69 | + klass.searchkick_options.clear | ||
70 | + klass.searchkick_options.merge!(previous_options) | ||
71 | + end | ||
72 | + end | ||
73 | + | ||
74 | + def activerecord? | ||
75 | + defined?(ActiveRecord) | ||
76 | + end | ||
77 | + | ||
78 | + def default_model | ||
79 | + Product | ||
80 | + end | ||
81 | + | ||
82 | + def ci? | ||
83 | + ENV["CI"] | ||
84 | + end | ||
85 | +end |
test/test_helper.rb
@@ -65,88 +65,4 @@ Animal.reindex | @@ -65,88 +65,4 @@ Animal.reindex | ||
65 | Speaker.reindex | 65 | Speaker.reindex |
66 | Region.reindex | 66 | Region.reindex |
67 | 67 | ||
68 | -class Minitest::Test | ||
69 | - def setup | ||
70 | - Product.destroy_all | ||
71 | - Store.destroy_all | ||
72 | - Animal.destroy_all | ||
73 | - Speaker.destroy_all | ||
74 | - end | ||
75 | - | ||
76 | - protected | ||
77 | - | ||
78 | - def store(documents, klass = default_model, reindex: true) | ||
79 | - if reindex | ||
80 | - documents.shuffle.each do |document| | ||
81 | - klass.create!(document) | ||
82 | - end | ||
83 | - klass.searchkick_index.refresh | ||
84 | - else | ||
85 | - Searchkick.callbacks(false) do | ||
86 | - documents.shuffle.each do |document| | ||
87 | - klass.create!(document) | ||
88 | - end | ||
89 | - end | ||
90 | - end | ||
91 | - end | ||
92 | - | ||
93 | - def store_names(names, klass = default_model, reindex: true) | ||
94 | - store names.map { |name| {name: name} }, klass, reindex: reindex | ||
95 | - end | ||
96 | - | ||
97 | - # no order | ||
98 | - def assert_search(term, expected, options = {}, klass = default_model) | ||
99 | - assert_equal expected.sort, klass.search(term, **options).map(&:name).sort | ||
100 | - end | ||
101 | - | ||
102 | - def assert_order(term, expected, options = {}, klass = default_model) | ||
103 | - assert_equal expected, klass.search(term, **options).map(&:name) | ||
104 | - end | ||
105 | - | ||
106 | - def assert_equal_scores(term, options = {}, klass = default_model) | ||
107 | - assert_equal 1, klass.search(term, **options).hits.map { |a| a["_score"] }.uniq.size | ||
108 | - end | ||
109 | - | ||
110 | - def assert_first(term, expected, options = {}, klass = default_model) | ||
111 | - assert_equal expected, klass.search(term, **options).map(&:name).first | ||
112 | - end | ||
113 | - | ||
114 | - def assert_misspellings(term, expected, misspellings = {}, klass = default_model) | ||
115 | - options = { | ||
116 | - fields: [:name, :color], | ||
117 | - misspellings: misspellings | ||
118 | - } | ||
119 | - assert_search(term, expected, options, klass) | ||
120 | - end | ||
121 | - | ||
122 | - def assert_warns(message) | ||
123 | - _, stderr = capture_io do | ||
124 | - yield | ||
125 | - end | ||
126 | - assert_match "[searchkick] WARNING: #{message}", stderr | ||
127 | - end | ||
128 | - | ||
129 | - def with_options(options, klass = default_model) | ||
130 | - previous_options = klass.searchkick_options.dup | ||
131 | - begin | ||
132 | - klass.searchkick_options.merge!(options) | ||
133 | - klass.reindex | ||
134 | - yield | ||
135 | - ensure | ||
136 | - klass.searchkick_options.clear | ||
137 | - klass.searchkick_options.merge!(previous_options) | ||
138 | - end | ||
139 | - end | ||
140 | - | ||
141 | - def activerecord? | ||
142 | - defined?(ActiveRecord) | ||
143 | - end | ||
144 | - | ||
145 | - def default_model | ||
146 | - Product | ||
147 | - end | ||
148 | - | ||
149 | - def ci? | ||
150 | - ENV["CI"] | ||
151 | - end | ||
152 | -end | 68 | +require_relative "support/helpers" |