Commit 33471a563d59024fde5b0f96ec97e817e12ce865

Authored by Macartur Sousa
1 parent 819264f5

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 5 include ElasticsearchTestHelper
6 6  
7 7 def indexed_models
8   - [Community, Person]
  8 + [Person,TextArticle,UploadedFile,Community,Event]
9 9 end
10 10  
11 11 def create_instances
... ... @@ -14,31 +14,51 @@ class ElasticsearchPluginControllerTest &lt; ActionController::TestCase
14 14 end
15 15  
16 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 19 end
24 20  
25 21 def create_instances_environment
26   - create_people
27   - create_communities
  22 + create_visible_models
  23 + create_private_models
28 24 end
29 25  
30   - def create_people
  26 + def create_visible_models
31 27 5.times do | index |
32 28 create_user "person #{index}"
33 29 end
34   - end
35   -
36   - def create_communities
37 30 6.times do | index |
38 31 fast_create Community, name: "community #{index}", created_at: Date.new
39 32 end
40 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 62 should 'work and uses control filter variables' do
43 63 get :index
44 64 assert_response :success
... ... @@ -74,18 +94,18 @@ class ElasticsearchPluginControllerTest &lt; ActionController::TestCase
74 94 assert_template partial: '_person_display'
75 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 110 should 'return new community indexed' do
91 111 get :index, { "selected_type" => :community}
... ... @@ -122,11 +142,6 @@ class ElasticsearchPluginControllerTest &lt; ActionController::TestCase
122 142 assert_redirected_to controller: 'elasticsearch_plugin', action: 'search', params: params
123 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 146 should 'filter community by default environment' do
132 147 get :index, { "selected_type" => :community}
... ... @@ -140,4 +155,22 @@ class ElasticsearchPluginControllerTest &lt; ActionController::TestCase
140 155 assert_select ".search-item", 5
141 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 176 end
... ...