Module: FullSearch::TestHelpers

Defined in:
lib/full_search/test_helpers.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.configure {|FullSearch.config| ... } ⇒ Object

Yields:



16
17
18
# File 'lib/full_search/test_helpers.rb', line 16

def configure
  yield FullSearch.config
end

.setup_for_tests!Object



6
7
8
9
10
11
12
13
14
# File 'lib/full_search/test_helpers.rb', line 6

def setup_for_tests!
  configure do |config|
    config.lock_rebuilds = false
    config.auto_rebuild_on_stale_query = true
    config.stale_query_behavior = :raise
  end

  inline_active_job_if_configured
end

Instance Method Details

#ensure_full_search_tablesObject



45
46
47
48
49
# File 'lib/full_search/test_helpers.rb', line 45

def ensure_full_search_tables
  FullSearch.models.each do |model|
    FullSearch::Index.ensure_table!(model)
  end
end

#rebuild_full_search_index(model) ⇒ Object



29
30
31
32
33
# File 'lib/full_search/test_helpers.rb', line 29

def rebuild_full_search_index(model)
  model = resolve_full_search_model(model)
  FullSearch::Index.drop!(model)
  FullSearch::Index.rebuild!(model)
end

#reindex_full_search(model) ⇒ Object



35
36
37
38
# File 'lib/full_search/test_helpers.rb', line 35

def reindex_full_search(model)
  model = resolve_full_search_model(model)
  FullSearch::Index.reindex_source_fields!(model)
end

#reset_full_search!(*models) ⇒ Object



40
41
42
43
# File 'lib/full_search/test_helpers.rb', line 40

def reset_full_search!(*models)
  models = FullSearch.models.to_a if models.empty?
  models.each { |model| rebuild_full_search_index(model) }
end

#with_full_search_async_jobs_inlineObject



59
60
61
62
63
64
65
# File 'lib/full_search/test_helpers.rb', line 59

def with_full_search_async_jobs_inline
  original_adapter = ActiveJob::Base.queue_adapter if defined?(ActiveJob::Base)
  ActiveJob::Base.queue_adapter = :inline if defined?(ActiveJob::Base)
  yield
ensure
  ActiveJob::Base.queue_adapter = original_adapter if defined?(ActiveJob::Base)
end

#with_full_search_models_registered(*models) ⇒ Object



67
68
69
70
71
72
73
# File 'lib/full_search/test_helpers.rb', line 67

def with_full_search_models_registered(*models)
  previous_registry = FullSearch.models.dup
  models.each { |model| FullSearch.register_model(model) }
  yield
ensure
  FullSearch.models.replace(previous_registry)
end

#with_full_search_rebuild(model) ⇒ Object



51
52
53
54
55
56
57
# File 'lib/full_search/test_helpers.rb', line 51

def with_full_search_rebuild(model)
  model = resolve_full_search_model(model)
  rebuild_full_search_index(model)
  yield
ensure
  FullSearch::Index.drop!(model)
end