Commit aa3eed72d9a50a6c962bf3c6882c8f41a9ec3ac2
1 parent
f160647b
Exists in
elasticsearch_api
Adding ElasticsearchTestHelper
Signed-off-by: Macartur Sousa <macartur.sc@gmail.com>
Showing
2 changed files
with
40 additions
and
29 deletions
Show diff stats
plugins/elasticsearch/test/test_helper.rb
1 | require 'test_helper' | 1 | require 'test_helper' |
2 | + | ||
3 | +class ElasticsearchTestHelper < ActionController::TestCase | ||
4 | + | ||
5 | + def setup | ||
6 | + setup_environment | ||
7 | + import_instancies | ||
8 | + end | ||
9 | + | ||
10 | + def teardown | ||
11 | + indexed_models.each {|model| | ||
12 | + model.__elasticsearch__.client.indices.delete index: model.index_name | ||
13 | + } | ||
14 | + end | ||
15 | + | ||
16 | + def import_instancies | ||
17 | + indexed_models.each {|model| | ||
18 | + model.__elasticsearch__.create_index! | ||
19 | + model.import | ||
20 | + } | ||
21 | + sleep 2 | ||
22 | + end | ||
23 | + | ||
24 | + def setup_environment | ||
25 | + @environment = Environment.default | ||
26 | + @environment.enable_plugin(ElasticsearchPlugin) | ||
27 | + end | ||
28 | + | ||
29 | +end |
plugins/elasticsearch/test/unit/controllers/elasticsearch_plugin_controller_test.rb
1 | require "#{File.dirname(__FILE__)}/../../test_helper" | 1 | require "#{File.dirname(__FILE__)}/../../test_helper" |
2 | 2 | ||
3 | -class ElasticsearchPluginControllerTest < ActionController::TestCase | 3 | +class ElasticsearchPluginControllerTest < ElasticsearchTestHelper |
4 | 4 | ||
5 | - def setup | ||
6 | - @environment = Environment.default | ||
7 | - @environment.enable_plugin(ElasticsearchPlugin) | 5 | + def indexed_models |
6 | + [Community, Person] | ||
7 | + end | ||
8 | 8 | ||
9 | - community = fast_create(Community) | ||
10 | - community.name = "I like organic" | ||
11 | - community.created_at = Time.now | ||
12 | - community.save | 9 | + def setup |
13 | create_instances | 10 | create_instances |
14 | - import_instancies | 11 | + super |
15 | end | 12 | end |
16 | 13 | ||
17 | def teardown | 14 | def teardown |
18 | - Person.__elasticsearch__.client.indices.delete index: Person.index_name | ||
19 | - Community.__elasticsearch__.client.indices.delete index: Community.index_name | ||
20 | - end | ||
21 | - | ||
22 | - def import_instancies | ||
23 | - #TODO: fix this, when update or create a new person | ||
24 | - # the Elasticsearch::Model can update the | ||
25 | - # indexes models | ||
26 | - Person.__elasticsearch__.create_index! | ||
27 | - Community.__elasticsearch__.create_index! | ||
28 | - | ||
29 | - Person.import | ||
30 | - Community.import | ||
31 | - sleep 2 | 15 | + super |
32 | end | 16 | end |
33 | 17 | ||
34 | def create_instances | 18 | def create_instances |
@@ -73,18 +57,21 @@ class ElasticsearchPluginControllerTest < ActionController::TestCase | @@ -73,18 +57,21 @@ class ElasticsearchPluginControllerTest < ActionController::TestCase | ||
73 | get :index, { 'selected_type' => :person} | 57 | get :index, { 'selected_type' => :person} |
74 | assert_response :success | 58 | assert_response :success |
75 | assert_select ".search-item", 5 | 59 | assert_select ".search-item", 5 |
60 | + assert_template partial: '_person_display' | ||
76 | end | 61 | end |
77 | 62 | ||
78 | should 'return results filtered by query' do | 63 | should 'return results filtered by query' do |
79 | get :index, { 'query' => "person_"} | 64 | get :index, { 'query' => "person_"} |
80 | assert_response :success | 65 | assert_response :success |
81 | assert_select ".search-item", 5 | 66 | assert_select ".search-item", 5 |
67 | + assert_template partial: '_person_display' | ||
82 | end | 68 | end |
83 | 69 | ||
84 | should 'return results filtered by query with uppercase' do | 70 | should 'return results filtered by query with uppercase' do |
85 | get :index, {'query' => "PERSON_1"} | 71 | get :index, {'query' => "PERSON_1"} |
86 | assert_response :success | 72 | assert_response :success |
87 | assert_select ".search-item", 1 | 73 | assert_select ".search-item", 1 |
74 | + assert_template partial: '_person_display' | ||
88 | end | 75 | end |
89 | 76 | ||
90 | should 'return results filtered by query with downcase' do | 77 | should 'return results filtered by query with downcase' do |
@@ -122,18 +109,14 @@ class ElasticsearchPluginControllerTest < ActionController::TestCase | @@ -122,18 +109,14 @@ class ElasticsearchPluginControllerTest < ActionController::TestCase | ||
122 | end | 109 | end |
123 | 110 | ||
124 | should 'redirect to elasticsearch plugin when request are send to core' do | 111 | should 'redirect to elasticsearch plugin when request are send to core' do |
125 | - oldcontroller = @controller | ||
126 | @controller = SearchController.new | 112 | @controller = SearchController.new |
127 | get 'index' | 113 | get 'index' |
128 | - params = {} | ||
129 | - params[:action] = 'index' | ||
130 | - params[:controller] = 'search' | 114 | + params = {:action => 'index', :controller => 'search'} |
131 | assert_redirected_to controller: 'elasticsearch_plugin', action: 'search', params: params | 115 | assert_redirected_to controller: 'elasticsearch_plugin', action: 'search', params: params |
132 | - @controller = oldcontroller | ||
133 | end | 116 | end |
134 | 117 | ||
135 | should 'pass params to elastic search controller' do | 118 | should 'pass params to elastic search controller' do |
136 | - get 'index', { query: 'like' } | 119 | + get 'index', { query: 'community_' } |
137 | assert_not_nil assigns(:results) | 120 | assert_not_nil assigns(:results) |
138 | assert_template partial: '_community_display' | 121 | assert_template partial: '_community_display' |
139 | end | 122 | end |