Commit e1d27af8f46aea28b5f4db587993fdcf8f629de0

Authored by Macartur Sousa
1 parent 24f9fb1f

Adding private itens to be filtered into tests

Signed-off-by: Macartur Sousa <macartur.sc@gmail.com>
plugins/elasticsearch/test/functional/elasticsearch_plugin_controller_test.rb
@@ -5,7 +5,7 @@ class ElasticsearchPluginControllerTest &lt; ActionController::TestCase @@ -5,7 +5,7 @@ class ElasticsearchPluginControllerTest &lt; 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
@@ -14,31 +14,51 @@ class ElasticsearchPluginControllerTest &lt; ActionController::TestCase @@ -14,31 +14,51 @@ class ElasticsearchPluginControllerTest &lt; ActionController::TestCase
14 end 14 end
15 15
16 def create_instances_environment2 16 def create_instances_environment2
17 - 5.times do |index|  
18 - create_user "Sample User Environment 2", environment:Environment.second  
19 - end  
20 - 6.times do |index|  
21 - fast_create Community, name:"Sample Community Environment 2", created_at: Date.new, environment_id: Environment.second.id  
22 - end 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
23 end 19 end
24 20
25 def create_instances_environment 21 def create_instances_environment
26 - create_people  
27 - create_communities 22 + create_visible_models
  23 + create_private_models
28 end 24 end
29 25
30 - def create_people 26 + def create_visible_models
31 5.times do | index | 27 5.times do | index |
32 create_user "person #{index}" 28 create_user "person #{index}"
33 end 29 end
34 - end  
35 -  
36 - def create_communities  
37 6.times do | index | 30 6.times do | index |
38 fast_create Community, name: "community #{index}", created_at: Date.new 31 fast_create Community, name: "community #{index}", created_at: Date.new
39 end 32 end
40 end 33 end
41 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 +
42 should 'work and uses control filter variables' do 62 should 'work and uses control filter variables' do
43 get :index 63 get :index
44 assert_response :success 64 assert_response :success
@@ -74,18 +94,18 @@ class ElasticsearchPluginControllerTest &lt; ActionController::TestCase @@ -74,18 +94,18 @@ class ElasticsearchPluginControllerTest &lt; ActionController::TestCase
74 assert_template partial: '_person_display' 94 assert_template partial: '_person_display'
75 end 95 end
76 96
77 - should 'return results filtered by query with uppercase' do  
78 - get :index, {'query' => "PERSON 1"}  
79 - assert_response :success  
80 - assert_template partial: '_person_display'  
81 - assert_tag(tag: "div", attributes: { class: "person-item" } , descendant: { tag: "a", child: "person 1"} )  
82 - 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
83 103
84 - should 'return results filtered by query with downcase' do  
85 - get :index, {'query' => "person 1"}  
86 - assert_response :success  
87 - assert_tag(tag: "div", attributes: { class: "person-item" } , descendant: { tag: "a", child: "person 1"} )  
88 - 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
89 109
90 should 'return new community indexed' do 110 should 'return new community indexed' do
91 get :index, { "selected_type" => :community} 111 get :index, { "selected_type" => :community}
@@ -122,11 +142,6 @@ class ElasticsearchPluginControllerTest &lt; ActionController::TestCase @@ -122,11 +142,6 @@ class ElasticsearchPluginControllerTest &lt; ActionController::TestCase
122 assert_redirected_to controller: 'elasticsearch_plugin', action: 'search', params: params 142 assert_redirected_to controller: 'elasticsearch_plugin', action: 'search', params: params
123 end 143 end
124 144
125 - should 'pass params to elastic search controller' do  
126 - get 'index', { query: 'community' }  
127 - assert_not_nil assigns(:results)  
128 - assert_template partial: '_community_display'  
129 - end  
130 145
131 should 'filter community by default environment' do 146 should 'filter community by default environment' do
132 get :index, { "selected_type" => :community} 147 get :index, { "selected_type" => :community}
@@ -140,4 +155,22 @@ class ElasticsearchPluginControllerTest &lt; ActionController::TestCase @@ -140,4 +155,22 @@ class ElasticsearchPluginControllerTest &lt; ActionController::TestCase
140 assert_select ".search-item", 5 155 assert_select ".search-item", 5
141 end 156 end
142 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 +
143 end 176 end