Commit 174fea9ac1bafe1129fe241278b180670d311718
1 parent
1ff43b06
Exists in
fix_sign_up_form
Elasticsearch: Adding tests
* Adding unit tests for sort * Adding private itens to be filtered into tests * Adding filter tests to api Signed-off-by: Macartur Sousa <macartur.sc@gmail.com>
Showing
13 changed files
with
275 additions
and
43 deletions
Show diff stats
plugins/elasticsearch/helpers/elasticsearch_helper.rb
@@ -35,15 +35,20 @@ module ElasticsearchHelper | @@ -35,15 +35,20 @@ module ElasticsearchHelper | ||
35 | private | 35 | private |
36 | 36 | ||
37 | def search_from_all_models | 37 | def search_from_all_models |
38 | - query = get_query params[:query], sort_by: get_sort_by(params[:filter]) | ||
39 | - Elasticsearch::Model.search(query,searchable_models, size: default_per_page(params[:per_page])).page(params[:page]).records | 38 | + begin |
39 | + filter = (params[:filter] || "" ).to_sym | ||
40 | + query = get_query params[:query], sort_by: get_sort_by(filter) | ||
41 | + Elasticsearch::Model.search(query,searchable_models, size: default_per_page(params[:per_page])).page(params[:page]).records | ||
42 | + rescue | ||
43 | + [] | ||
44 | + end | ||
40 | end | 45 | end |
41 | 46 | ||
42 | def search_from_model model | 47 | def search_from_model model |
43 | begin | 48 | begin |
44 | klass = model.to_s.classify.constantize | 49 | klass = model.to_s.classify.constantize |
45 | - | ||
46 | - query = get_query params[:query], klass: klass, sort_by: get_sort_by(params[:filter],klass) | 50 | + filter = (params[:filter] || "" ).to_sym |
51 | + query = get_query params[:query], klass: klass, sort_by: get_sort_by(filter,klass) | ||
47 | klass.search(query, size: default_per_page(params[:per_page])).page(params[:page]).records | 52 | klass.search(query, size: default_per_page(params[:per_page])).page(params[:page]).records |
48 | rescue | 53 | rescue |
49 | [] | 54 | [] |
@@ -56,9 +61,9 @@ module ElasticsearchHelper | @@ -56,9 +61,9 @@ module ElasticsearchHelper | ||
56 | 61 | ||
57 | def get_sort_by sort_by, klass=nil | 62 | def get_sort_by sort_by, klass=nil |
58 | case sort_by | 63 | case sort_by |
59 | - when "lexical" | 64 | + when :lexical |
60 | { "name.raw" => {"order" => "asc" }} | 65 | { "name.raw" => {"order" => "asc" }} |
61 | - when "more_recent" | 66 | + when :more_recent |
62 | { "created_at" => {"order" => "desc"}} | 67 | { "created_at" => {"order" => "desc"}} |
63 | else | 68 | else |
64 | ( klass and klass.respond_to?(:get_sort_by) ) ? klass.get_sort_by(sort_by) : nil | 69 | ( klass and klass.respond_to?(:get_sort_by) ) ? klass.get_sort_by(sort_by) : nil |
@@ -105,6 +110,7 @@ module ElasticsearchHelper | @@ -105,6 +110,7 @@ module ElasticsearchHelper | ||
105 | 110 | ||
106 | query = query_method(text, models) | 111 | query = query_method(text, models) |
107 | query[:sort] = sort_by if sort_by | 112 | query[:sort] = sort_by if sort_by |
113 | + | ||
108 | query | 114 | query |
109 | end | 115 | end |
110 | 116 |
plugins/elasticsearch/lib/ext/community.rb
@@ -30,12 +30,12 @@ class Community | @@ -30,12 +30,12 @@ class Community | ||
30 | } | 30 | } |
31 | end | 31 | end |
32 | 32 | ||
33 | - def self.get_sort_by sort_by | 33 | + def self.get_sort_by sort_by="" |
34 | case sort_by | 34 | case sort_by |
35 | - when "more_active" | 35 | + when :more_active |
36 | { :activities_count => {order: :desc}} | 36 | { :activities_count => {order: :desc}} |
37 | - when "more_popular" | ||
38 | - { :members_count => {order: :desc} } | 37 | + when :more_popular |
38 | + { :members_count => {order: :desc}} | ||
39 | end | 39 | end |
40 | end | 40 | end |
41 | 41 |
plugins/elasticsearch/lib/ext/person.rb
@@ -31,11 +31,11 @@ class Person | @@ -31,11 +31,11 @@ class Person | ||
31 | } | 31 | } |
32 | end | 32 | end |
33 | 33 | ||
34 | - def self.get_sort_by sort_by | 34 | + def self.get_sort_by sort_by="" |
35 | case sort_by | 35 | case sort_by |
36 | - when "more_active" | 36 | + when :more_active |
37 | { :activities_count => {order: :desc}} | 37 | { :activities_count => {order: :desc}} |
38 | - when "more_popular" | 38 | + when :more_popular |
39 | { :friends_count => {order: :desc} } | 39 | { :friends_count => {order: :desc} } |
40 | end | 40 | end |
41 | end | 41 | end |
plugins/elasticsearch/lib/ext/text_article.rb
@@ -37,15 +37,15 @@ class TextArticle | @@ -37,15 +37,15 @@ class TextArticle | ||
37 | def self.especific_sort | 37 | def self.especific_sort |
38 | { | 38 | { |
39 | :more_popular => { label: _("More Viewed") }, | 39 | :more_popular => { label: _("More Viewed") }, |
40 | - :more_comments => { label: _("More Commented") } | 40 | + :more_comments => { label: _("Most Commented") } |
41 | } | 41 | } |
42 | end | 42 | end |
43 | 43 | ||
44 | - def self.get_sort_by sort_by | 44 | + def self.get_sort_by sort_by="" |
45 | case sort_by | 45 | case sort_by |
46 | - when "more_popular" | 46 | + when :more_popular |
47 | { :hits => {order: :desc} } | 47 | { :hits => {order: :desc} } |
48 | - when "more_comments" | 48 | + when :more_comments |
49 | { :comments_count => {order: :desc}} | 49 | { :comments_count => {order: :desc}} |
50 | end | 50 | end |
51 | end | 51 | end |
plugins/elasticsearch/lib/searchable_model/filter.rb
plugins/elasticsearch/test/api/elasticsearch_plugin_api_test.rb
@@ -7,7 +7,53 @@ class ElasticsearchPluginApiTest < ActiveSupport::TestCase | @@ -7,7 +7,53 @@ class ElasticsearchPluginApiTest < ActiveSupport::TestCase | ||
7 | include ElasticsearchHelper | 7 | include ElasticsearchHelper |
8 | 8 | ||
9 | def indexed_models | 9 | def indexed_models |
10 | - [Community, Person] | 10 | + [Person,TextArticle,UploadedFile,Community,Event] |
11 | + end | ||
12 | + | ||
13 | + def create_instances | ||
14 | + create_instances_environment | ||
15 | + create_instances_environment2 | ||
16 | + end | ||
17 | + | ||
18 | + def create_instances_environment2 | ||
19 | + create_user "Sample User Environment 2", environment:Environment.second | ||
20 | + fast_create Community, name:"Sample Community Environment 2", created_at: Date.new, environment_id: Environment.second.id | ||
21 | + end | ||
22 | + | ||
23 | + def create_instances_environment | ||
24 | + create_visible_models | ||
25 | + create_private_models | ||
26 | + end | ||
27 | + | ||
28 | + def create_visible_models | ||
29 | + 7.times{ | index | create_user "person #{index}" } | ||
30 | + 4.times{ | index | fast_create Community, name: "community #{index}", created_at: Date.new } | ||
31 | + end | ||
32 | + | ||
33 | + def create_private_models | ||
34 | + secret_user = create_user("Secret Person") | ||
35 | + fast_update(secret_user.person, secret: true, visible: true) | ||
36 | + | ||
37 | + invisible_user= create_user("Invisible Person") | ||
38 | + fast_update(invisible_user.person, secret: false, visible: false, public_profile: false) | ||
39 | + | ||
40 | + fast_create(Community, name: "secret community", secret: true, visible: true) | ||
41 | + fast_create(Community, name: "invisible community", secret: false, visible: false) | ||
42 | + | ||
43 | + create_private_article(TextArticle,public_person: User.first.person, private_person: invisible_user.person) | ||
44 | + create_private_article(UploadedFile,public_person: User.first.person, private_person: invisible_user.person) | ||
45 | + create_private_article(Event,public_person: User.first.person, private_person: invisible_user.person) | ||
46 | + | ||
47 | + end | ||
48 | + | ||
49 | + def create_private_article model,options = {} | ||
50 | + public_person = options[:public_person] | ||
51 | + private_person = options[:private_person] | ||
52 | + | ||
53 | + fast_create(model, name: "#{model.to_s.underscore} not advertise", advertise: false, published: true, profile_id: public_person, created_at: Time.now) | ||
54 | + fast_create(model, name: "#{model.to_s.underscore} not published", advertise: true, published: false, profile_id: public_person, created_at: Time.now) | ||
55 | + fast_create(model, name: "#{model.to_s.underscore} with not visible profile", advertise: true, published: true, profile_id: private_person, created_at: Time.now) | ||
56 | + fast_create(model, name: "#{model.to_s.underscore} with not public_profile", advertise: true, published: true, profile_id: private_person, created_at: Time.now) | ||
11 | end | 57 | end |
12 | 58 | ||
13 | def create_instances | 59 | def create_instances |
@@ -49,4 +95,19 @@ class ElasticsearchPluginApiTest < ActiveSupport::TestCase | @@ -49,4 +95,19 @@ class ElasticsearchPluginApiTest < ActiveSupport::TestCase | ||
49 | assert_equal 200, last_response.status | 95 | assert_equal 200, last_response.status |
50 | assert_equal 4, json["results"].count | 96 | assert_equal 4, json["results"].count |
51 | end | 97 | end |
98 | + | ||
99 | + should 'filter person by default environment' do | ||
100 | + get "/api/v1/search?selected_type=person" | ||
101 | + json = JSON.parse(last_response.body) | ||
102 | + assert_equal 200, last_response.status | ||
103 | + assert_equal 7, json["results"].count | ||
104 | + end | ||
105 | + | ||
106 | + should 'not show private text_article' do | ||
107 | + get "/api/v1/search?selected_type=text_article" | ||
108 | + json = JSON.parse(last_response.body) | ||
109 | + assert_equal 200, last_response.status | ||
110 | + assert_equal 7, json["results"].count | ||
111 | + end | ||
112 | + | ||
52 | end | 113 | end |
plugins/elasticsearch/test/functional/elasticsearch_plugin_controller_test.rb
@@ -5,26 +5,60 @@ class ElasticsearchPluginControllerTest < ActionController::TestCase | @@ -5,26 +5,60 @@ class ElasticsearchPluginControllerTest < ActionController::TestCase | ||
5 | include ElasticsearchTestHelper | 5 | include ElasticsearchTestHelper |
6 | 6 | ||
7 | def indexed_models | 7 | def indexed_models |
8 | - [Community, Person] | 8 | + [Person,TextArticle,UploadedFile,Community,Event] |
9 | end | 9 | end |
10 | 10 | ||
11 | def create_instances | 11 | def create_instances |
12 | - create_people | ||
13 | - create_communities | 12 | + create_instances_environment |
13 | + create_instances_environment2 | ||
14 | end | 14 | end |
15 | 15 | ||
16 | - def create_people | 16 | + def create_instances_environment2 |
17 | + create_user "Sample User Environment 2", environment:Environment.second | ||
18 | + fast_create Community, name:"Sample Community Environment 2", created_at: Date.new, environment_id: Environment.second.id | ||
19 | + end | ||
20 | + | ||
21 | + def create_instances_environment | ||
22 | + create_visible_models | ||
23 | + create_private_models | ||
24 | + end | ||
25 | + | ||
26 | + def create_visible_models | ||
17 | 5.times do | index | | 27 | 5.times do | index | |
18 | create_user "person #{index}" | 28 | create_user "person #{index}" |
19 | end | 29 | end |
20 | - end | ||
21 | - | ||
22 | - def create_communities | ||
23 | 6.times do | index | | 30 | 6.times do | index | |
24 | fast_create Community, name: "community #{index}", created_at: Date.new | 31 | fast_create Community, name: "community #{index}", created_at: Date.new |
25 | end | 32 | end |
26 | end | 33 | end |
27 | 34 | ||
35 | + def create_private_models | ||
36 | + secret_user = create_user("Secret Person") | ||
37 | + fast_update(secret_user.person, secret: true, visible: true) | ||
38 | + | ||
39 | + invisible_user= create_user("Invisible Person") | ||
40 | + fast_update(invisible_user.person, secret: false, visible: false, public_profile: false) | ||
41 | + | ||
42 | + fast_create(Community, name: "secret community", secret: true, visible: true) | ||
43 | + fast_create(Community, name: "invisible community", secret: false, visible: false) | ||
44 | + | ||
45 | + create_private_article(TextArticle,public_person: User.first.person, private_person: invisible_user.person) | ||
46 | + create_private_article(UploadedFile,public_person: User.first.person, private_person: invisible_user.person) | ||
47 | + create_private_article(Event,public_person: User.first.person, private_person: invisible_user.person) | ||
48 | + | ||
49 | + end | ||
50 | + | ||
51 | + def create_private_article model,options = {} | ||
52 | + public_person = options[:public_person] | ||
53 | + private_person = options[:private_person] | ||
54 | + | ||
55 | + fast_create(model, name: "#{model.to_s.underscore} not advertise", advertise: false, published: true, profile_id: public_person, created_at: Time.now) | ||
56 | + fast_create(model, name: "#{model.to_s.underscore} not published", advertise: true, published: false, profile_id: public_person, created_at: Time.now) | ||
57 | + fast_create(model, name: "#{model.to_s.underscore} with not visible profile", advertise: true, published: true, profile_id: private_person, created_at: Time.now) | ||
58 | + fast_create(model, name: "#{model.to_s.underscore} with not public_profile", advertise: true, published: true, profile_id: private_person, created_at: Time.now) | ||
59 | + end | ||
60 | + | ||
61 | + | ||
28 | should 'work and uses control filter variables' do | 62 | should 'work and uses control filter variables' do |
29 | get :index | 63 | get :index |
30 | assert_response :success | 64 | assert_response :success |
@@ -60,20 +94,20 @@ class ElasticsearchPluginControllerTest < ActionController::TestCase | @@ -60,20 +94,20 @@ class ElasticsearchPluginControllerTest < ActionController::TestCase | ||
60 | assert_template partial: '_person_display' | 94 | assert_template partial: '_person_display' |
61 | end | 95 | end |
62 | 96 | ||
63 | - should 'return results filtered by query with uppercase' do | ||
64 | - get :index, {'query' => "PERSON 1"} | ||
65 | - assert_response :success | ||
66 | - assert_template partial: '_person_display' | ||
67 | - assert_tag(tag: "div", attributes: { class: "person-item" } , descendant: { tag: "a", child: "person 1"} ) | ||
68 | - end | 97 | + should 'return results filtered by query with uppercase' do |
98 | + get :index, {'query' => "PERSON 1"} | ||
99 | + assert_response :success | ||
100 | + assert_template partial: '_person_display' | ||
101 | + assert_tag(tag: "div", attributes: { class: "person-item" } , descendant: { tag: "a", child: "person 1"} ) | ||
102 | + end | ||
69 | 103 | ||
70 | - should 'return results filtered by query with downcase' do | ||
71 | - get :index, {'query' => "person 1"} | ||
72 | - assert_response :success | ||
73 | - assert_tag(tag: "div", attributes: { class: "person-item" } , descendant: { tag: "a", child: "person 1"} ) | ||
74 | - end | 104 | + should 'return results filtered by query with downcase' do |
105 | + get :index, {'query' => "person 1"} | ||
106 | + assert_response :success | ||
107 | + assert_tag(tag: "div", attributes: { class: "person-item" } , descendant: { tag: "a", child: "person 1"} ) | ||
108 | + end | ||
75 | 109 | ||
76 | - should 'return new person indexed' do | 110 | + should 'return new community indexed' do |
77 | get :index, { "selected_type" => :community} | 111 | get :index, { "selected_type" => :community} |
78 | assert_response :success | 112 | assert_response :success |
79 | assert_select ".search-item", 6 | 113 | assert_select ".search-item", 6 |
@@ -87,13 +121,14 @@ class ElasticsearchPluginControllerTest < ActionController::TestCase | @@ -87,13 +121,14 @@ class ElasticsearchPluginControllerTest < ActionController::TestCase | ||
87 | assert_select ".search-item", 7 | 121 | assert_select ".search-item", 7 |
88 | end | 122 | end |
89 | 123 | ||
90 | - should 'not return person deleted' do | 124 | + should 'not return community deleted' do |
91 | get :index, { "selected_type" => :community} | 125 | get :index, { "selected_type" => :community} |
92 | assert_response :success | 126 | assert_response :success |
93 | assert_select ".search-item", 6 | 127 | assert_select ".search-item", 6 |
94 | 128 | ||
95 | Community.first.delete | 129 | Community.first.delete |
96 | Community.import | 130 | Community.import |
131 | + sleep 2 | ||
97 | 132 | ||
98 | get :index, { "selected_type" => :community} | 133 | get :index, { "selected_type" => :community} |
99 | assert_response :success | 134 | assert_response :success |
@@ -107,9 +142,35 @@ class ElasticsearchPluginControllerTest < ActionController::TestCase | @@ -107,9 +142,35 @@ class ElasticsearchPluginControllerTest < ActionController::TestCase | ||
107 | assert_redirected_to controller: 'elasticsearch_plugin', action: 'search', params: params | 142 | assert_redirected_to controller: 'elasticsearch_plugin', action: 'search', params: params |
108 | end | 143 | end |
109 | 144 | ||
110 | - should 'pass params to elastic search controller' do | ||
111 | - get 'index', { query: 'community' } | ||
112 | - assert_not_nil assigns(:results) | ||
113 | - assert_template partial: '_community_display' | 145 | + |
146 | + should 'filter community by default environment' do | ||
147 | + get :index, { "selected_type" => :community} | ||
148 | + assert_response :success | ||
149 | + assert_select ".search-item", 6 | ||
114 | end | 150 | end |
151 | + | ||
152 | + should 'filter person by default environment' do | ||
153 | + get :index, { "selected_type" => :person} | ||
154 | + assert_response :success | ||
155 | + assert_select ".search-item", 5 | ||
156 | + end | ||
157 | + | ||
158 | + should 'not show private text_article' do | ||
159 | + get :index, { :selected_type => "text_article" } | ||
160 | + assert_response :success | ||
161 | + assert_select ".search-item", 6 | ||
162 | + end | ||
163 | + | ||
164 | + should 'not show private uploaded_file' do | ||
165 | + get :index, { :selected_type => "uploaded_file" } | ||
166 | + assert_response :success | ||
167 | + assert_select ".search-item", 0 | ||
168 | + end | ||
169 | + | ||
170 | + should 'not show private event' do | ||
171 | + get :index, { :selected_type => "event" } | ||
172 | + assert_response :success | ||
173 | + assert_select ".search-item", 0 | ||
174 | + end | ||
175 | + | ||
115 | end | 176 | end |
plugins/elasticsearch/test/unit/community_test.rb
@@ -21,4 +21,26 @@ class CommunityTest < ActiveSupport::TestCase | @@ -21,4 +21,26 @@ class CommunityTest < ActiveSupport::TestCase | ||
21 | end | 21 | end |
22 | end | 22 | end |
23 | 23 | ||
24 | + should 'respond with should method to return public community' do | ||
25 | + assert Community.respond_to? :should | ||
26 | + end | ||
27 | + | ||
28 | + should 'respond with especific sort' do | ||
29 | + assert Community.respond_to? :especific_sort | ||
30 | + end | ||
31 | + | ||
32 | + should 'respond with get_sort_by to order especific sort' do | ||
33 | + assert Community.respond_to? :get_sort_by | ||
34 | + end | ||
35 | + | ||
36 | + should 'return hash to sort by more_active' do | ||
37 | + more_active_hash = {:activities_count => {order: :desc}} | ||
38 | + assert_equal more_active_hash, Community.get_sort_by(:more_active) | ||
39 | + end | ||
40 | + | ||
41 | + should 'return hash to sort by more_popular' do | ||
42 | + more_popular_hash = {:members_count => {order: :desc}} | ||
43 | + assert_equal more_popular_hash, Community.get_sort_by(:more_popular) | ||
44 | + end | ||
45 | + | ||
24 | end | 46 | end |
plugins/elasticsearch/test/unit/elasticsearch_helper_test.rb
@@ -72,4 +72,9 @@ class ElasticsearchHelperTest < ActiveSupport::TestCase | @@ -72,4 +72,9 @@ class ElasticsearchHelperTest < ActiveSupport::TestCase | ||
72 | assert_equal ["Joana Abreu", "Joao Abreu"], result.map(&:name) | 72 | assert_equal ["Joana Abreu", "Joao Abreu"], result.map(&:name) |
73 | end | 73 | end |
74 | 74 | ||
75 | + should 'have sort in get_query return if has the option sort_by ' do | ||
76 | + self.params= {} | ||
77 | + assert get_query("", sort_by: :more_popular).keys.include?(:sort) | ||
78 | + end | ||
79 | + | ||
75 | end | 80 | end |
plugins/elasticsearch/test/unit/event_test.rb
1 | require "#{File.dirname(__FILE__)}/../test_helper" | 1 | require "#{File.dirname(__FILE__)}/../test_helper" |
2 | +require_relative '../../lib/nested_helper/profile' | ||
2 | 3 | ||
3 | class EventTest < ActionController::TestCase | 4 | class EventTest < ActionController::TestCase |
4 | 5 | ||
@@ -21,4 +22,16 @@ class EventTest < ActionController::TestCase | @@ -21,4 +22,16 @@ class EventTest < ActionController::TestCase | ||
21 | end | 22 | end |
22 | end | 23 | end |
23 | 24 | ||
25 | + should 'respond with should method to return public event' do | ||
26 | + assert Event.respond_to? :should | ||
27 | + end | ||
28 | + | ||
29 | + should 'respond with nested_filter' do | ||
30 | + assert Event.respond_to? :nested_filter | ||
31 | + end | ||
32 | + | ||
33 | + should 'have NestedProfile_filter in nested_filter' do | ||
34 | + assert Event.nested_filter.include? NestedProfile.filter | ||
35 | + end | ||
36 | + | ||
24 | end | 37 | end |
plugins/elasticsearch/test/unit/person_test.rb
@@ -20,4 +20,26 @@ class PersonTest < ActionController::TestCase | @@ -20,4 +20,26 @@ class PersonTest < ActionController::TestCase | ||
20 | assert_equal indexed_fields(Person)[key][:type], value[:type] || 'string' | 20 | assert_equal indexed_fields(Person)[key][:type], value[:type] || 'string' |
21 | end | 21 | end |
22 | end | 22 | end |
23 | + | ||
24 | + should 'respond with should method to return public person' do | ||
25 | + assert Person.respond_to? :should | ||
26 | + end | ||
27 | + | ||
28 | + should 'respond with especific sort' do | ||
29 | + assert Person.respond_to? :especific_sort | ||
30 | + end | ||
31 | + | ||
32 | + should 'respond with get_sort_by to order especific sort' do | ||
33 | + assert Person.respond_to? :get_sort_by | ||
34 | + end | ||
35 | + | ||
36 | + should 'return hash to sort by more_active' do | ||
37 | + more_active_hash = {:activities_count => {order: :desc}} | ||
38 | + assert_equal more_active_hash, Person.get_sort_by(:more_active) | ||
39 | + end | ||
40 | + | ||
41 | + should 'return hash to sort by more_popular' do | ||
42 | + more_popular_hash = {:friends_count => {order: :desc}} | ||
43 | + assert_equal more_popular_hash, Person.get_sort_by(:more_popular) | ||
44 | + end | ||
23 | end | 45 | end |
plugins/elasticsearch/test/unit/text_article_test.rb
1 | require "#{File.dirname(__FILE__)}/../test_helper" | 1 | require "#{File.dirname(__FILE__)}/../test_helper" |
2 | +require_relative '../../lib/nested_helper/profile' | ||
2 | 3 | ||
3 | class TextArticleTest < ActionController::TestCase | 4 | class TextArticleTest < ActionController::TestCase |
4 | 5 | ||
@@ -21,4 +22,34 @@ class TextArticleTest < ActionController::TestCase | @@ -21,4 +22,34 @@ class TextArticleTest < ActionController::TestCase | ||
21 | end | 22 | end |
22 | end | 23 | end |
23 | 24 | ||
25 | + should 'respond with should method to return public text_article' do | ||
26 | + assert TextArticle.respond_to? :should | ||
27 | + end | ||
28 | + | ||
29 | + should 'respond with especific sort' do | ||
30 | + assert TextArticle.respond_to? :especific_sort | ||
31 | + end | ||
32 | + | ||
33 | + should 'respond with get_sort_by to order especific sort' do | ||
34 | + assert TextArticle.respond_to? :get_sort_by | ||
35 | + end | ||
36 | + | ||
37 | + should 'return hash to sort by most commented' do | ||
38 | + more_active_hash = {:comments_count => {order: :desc}} | ||
39 | + assert_equal more_active_hash, TextArticle.get_sort_by(:more_comments) | ||
40 | + end | ||
41 | + | ||
42 | + should 'return hash to sort by more popular' do | ||
43 | + more_popular_hash = {:hits => {order: :desc}} | ||
44 | + assert_equal more_popular_hash, TextArticle.get_sort_by(:more_popular) | ||
45 | + end | ||
46 | + | ||
47 | + should 'respond with nested_filter' do | ||
48 | + assert TextArticle.respond_to? :nested_filter | ||
49 | + end | ||
50 | + | ||
51 | + should 'have NestedProfile_filter in nested_filter' do | ||
52 | + assert TextArticle.nested_filter.include? NestedProfile.filter | ||
53 | + end | ||
54 | + | ||
24 | end | 55 | end |
plugins/elasticsearch/test/unit/uploaded_file_test.rb
@@ -21,4 +21,16 @@ class UploadedFileTest < ActionController::TestCase | @@ -21,4 +21,16 @@ class UploadedFileTest < ActionController::TestCase | ||
21 | end | 21 | end |
22 | end | 22 | end |
23 | 23 | ||
24 | + should 'respond with should method to return public text_article' do | ||
25 | + assert TextArticle.respond_to? :should | ||
26 | + end | ||
27 | + | ||
28 | + should 'respond with nested_filter' do | ||
29 | + assert TextArticle.respond_to? :nested_filter | ||
30 | + end | ||
31 | + | ||
32 | + should 'have NestedProfile_filter in nested_filter' do | ||
33 | + assert TextArticle.nested_filter.include? NestedProfile.filter | ||
34 | + end | ||
35 | + | ||
24 | end | 36 | end |