Commit 9ac1c8a9093214633fcc3d29f46836f895a84adf
1 parent
fa84aa58
Exists in
master
and in
2 other branches
Moved default scope tests to separate file [skip ci]
Showing
5 changed files
with
35 additions
and
18 deletions
Show diff stats
@@ -0,0 +1,31 @@ | @@ -0,0 +1,31 @@ | ||
1 | +require_relative "test_helper" | ||
2 | + | ||
3 | +class DefaultScopeTest < Minitest::Test | ||
4 | + def setup | ||
5 | + Band.destroy_all | ||
6 | + end | ||
7 | + | ||
8 | + def test_reindex | ||
9 | + store [ | ||
10 | + {name: "Test", active: true}, | ||
11 | + {name: "Test 2", active: false} | ||
12 | + ], reindex: false | ||
13 | + | ||
14 | + Band.reindex | ||
15 | + assert_search "*", ["Test"], {load: false} | ||
16 | + end | ||
17 | + | ||
18 | + def test_search | ||
19 | + Band.reindex | ||
20 | + Band.search("*") # test works | ||
21 | + | ||
22 | + error = assert_raises(Searchkick::Error) do | ||
23 | + Band.all.search("*") | ||
24 | + end | ||
25 | + assert_equal "search must be called on model, not relation", error.message | ||
26 | + end | ||
27 | + | ||
28 | + def default_model | ||
29 | + Band | ||
30 | + end | ||
31 | +end |
test/reindex_test.rb
@@ -185,12 +185,6 @@ class ReindexTest < Minitest::Test | @@ -185,12 +185,6 @@ class ReindexTest < Minitest::Test | ||
185 | assert_match "unsupported keywords: :async", error.message | 185 | assert_match "unsupported keywords: :async", error.message |
186 | end | 186 | end |
187 | 187 | ||
188 | - def test_full_default_scope | ||
189 | - store_names ["Test", "Test 2"], Band, reindex: false | ||
190 | - Band.reindex | ||
191 | - assert_search "*", ["Test"], {load: false}, Band | ||
192 | - end | ||
193 | - | ||
194 | def test_callbacks_false | 188 | def test_callbacks_false |
195 | Searchkick.callbacks(false) do | 189 | Searchkick.callbacks(false) do |
196 | store_names ["Product A", "Product B"] | 190 | store_names ["Product A", "Product B"] |
test/search_test.rb
@@ -8,16 +8,6 @@ class SearchTest < Minitest::Test | @@ -8,16 +8,6 @@ class SearchTest < Minitest::Test | ||
8 | assert_equal "search must be called on model, not relation", error.message | 8 | assert_equal "search must be called on model, not relation", error.message |
9 | end | 9 | end |
10 | 10 | ||
11 | - def test_search_relation_default_scope | ||
12 | - Band.reindex | ||
13 | - Band.search("*") # test works | ||
14 | - | ||
15 | - error = assert_raises(Searchkick::Error) do | ||
16 | - Band.all.search("*") | ||
17 | - end | ||
18 | - assert_equal "search must be called on model, not relation", error.message | ||
19 | - end | ||
20 | - | ||
21 | def test_body | 11 | def test_body |
22 | store_names ["Dollar Tree"], Store | 12 | store_names ["Dollar Tree"], Store |
23 | assert_equal ["Dollar Tree"], Store.search(body: {query: {match: {name: "dollar"}}}, load: false).map(&:name) | 13 | assert_equal ["Dollar Tree"], Store.search(body: {query: {match: {name: "dollar"}}}, load: false).map(&:name) |
test/support/activerecord.rb
@@ -63,6 +63,7 @@ ActiveRecord::Schema.define do | @@ -63,6 +63,7 @@ ActiveRecord::Schema.define do | ||
63 | 63 | ||
64 | create_table :bands do |t| | 64 | create_table :bands do |t| |
65 | t.string :name | 65 | t.string :name |
66 | + t.boolean :active | ||
66 | end | 67 | end |
67 | end | 68 | end |
68 | 69 | ||
@@ -96,5 +97,5 @@ class Song < ActiveRecord::Base | @@ -96,5 +97,5 @@ class Song < ActiveRecord::Base | ||
96 | end | 97 | end |
97 | 98 | ||
98 | class Band < ActiveRecord::Base | 99 | class Band < ActiveRecord::Base |
99 | - default_scope { where(name: "Test") } | 100 | + default_scope { where(active: true).order(:name) } |
100 | end | 101 | end |
test/support/mongoid.rb
@@ -71,6 +71,7 @@ class Band | @@ -71,6 +71,7 @@ class Band | ||
71 | include Mongoid::Document | 71 | include Mongoid::Document |
72 | 72 | ||
73 | field :name | 73 | field :name |
74 | + field :active, type: Mongoid::Boolean | ||
74 | 75 | ||
75 | - default_scope -> { where(name: "Test") } | 76 | + default_scope -> { where(active: true).order(:name) } |
76 | end | 77 | end |