From 7ac3c320960eb41e8c5c01586b18ccfd2ece8b16 Mon Sep 17 00:00:00 2001 From: Macartur Sousa Date: Mon, 18 Jul 2016 14:19:57 -0300 Subject: [PATCH] Adding private itens to be filtered into tests --- plugins/elasticsearch/test/functional/elasticsearch_plugin_controller_test.rb | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------- 1 file changed, 62 insertions(+), 29 deletions(-) diff --git a/plugins/elasticsearch/test/functional/elasticsearch_plugin_controller_test.rb b/plugins/elasticsearch/test/functional/elasticsearch_plugin_controller_test.rb index ed372e8..eb7db88 100644 --- a/plugins/elasticsearch/test/functional/elasticsearch_plugin_controller_test.rb +++ b/plugins/elasticsearch/test/functional/elasticsearch_plugin_controller_test.rb @@ -5,7 +5,7 @@ class ElasticsearchPluginControllerTest < ActionController::TestCase include ElasticsearchTestHelper def indexed_models - [Community, Person] + [Person,TextArticle,UploadedFile,Community,Event] end def create_instances @@ -14,31 +14,51 @@ class ElasticsearchPluginControllerTest < ActionController::TestCase end def create_instances_environment2 - 5.times do |index| - create_user "Sample User Environment 2", environment:Environment.second - end - 6.times do |index| - fast_create Community, name:"Sample Community Environment 2", created_at: Date.new, environment_id: Environment.second.id - end + create_user "Sample User Environment 2", environment:Environment.second + fast_create Community, name:"Sample Community Environment 2", created_at: Date.new, environment_id: Environment.second.id end def create_instances_environment - create_people - create_communities + create_visible_models + create_private_models end - def create_people + def create_visible_models 5.times do | index | create_user "person #{index}" end - end - - def create_communities 6.times do | index | fast_create Community, name: "community #{index}", created_at: Date.new end end + def create_private_models + secret_user = create_user("Secret Person") + fast_update(secret_user.person, secret: true, visible: true) + + invisible_user= create_user("Invisible Person") + fast_update(invisible_user.person, secret: false, visible: false, public_profile: false) + + fast_create(Community, name: "secret community", secret: true, visible: true) + fast_create(Community, name: "invisible community", secret: false, visible: false) + + create_private_article(TextArticle,public_person: User.first.person, private_person: invisible_user.person) + create_private_article(UploadedFile,public_person: User.first.person, private_person: invisible_user.person) + create_private_article(Event,public_person: User.first.person, private_person: invisible_user.person) + + end + + def create_private_article model,options = {} + public_person = options[:public_person] + private_person = options[:private_person] + + fast_create(model, name: "#{model.to_s.underscore} not advertise", advertise: false, published: true, profile_id: public_person, created_at: Time.now) + fast_create(model, name: "#{model.to_s.underscore} not published", advertise: true, published: false, profile_id: public_person, created_at: Time.now) + fast_create(model, name: "#{model.to_s.underscore} with not visible profile", advertise: true, published: true, profile_id: private_person, created_at: Time.now) + fast_create(model, name: "#{model.to_s.underscore} with not public_profile", advertise: true, published: true, profile_id: private_person, created_at: Time.now) + end + + should 'work and uses control filter variables' do get :index assert_response :success @@ -74,18 +94,18 @@ class ElasticsearchPluginControllerTest < ActionController::TestCase assert_template partial: '_person_display' end - should 'return results filtered by query with uppercase' do - get :index, {'query' => "PERSON 1"} - assert_response :success - assert_template partial: '_person_display' - assert_tag(tag: "div", attributes: { class: "person-item" } , descendant: { tag: "a", child: "person 1"} ) - end + should 'return results filtered by query with uppercase' do + get :index, {'query' => "PERSON 1"} + assert_response :success + assert_template partial: '_person_display' + assert_tag(tag: "div", attributes: { class: "person-item" } , descendant: { tag: "a", child: "person 1"} ) + end - should 'return results filtered by query with downcase' do - get :index, {'query' => "person 1"} - assert_response :success - assert_tag(tag: "div", attributes: { class: "person-item" } , descendant: { tag: "a", child: "person 1"} ) - end + should 'return results filtered by query with downcase' do + get :index, {'query' => "person 1"} + assert_response :success + assert_tag(tag: "div", attributes: { class: "person-item" } , descendant: { tag: "a", child: "person 1"} ) + end should 'return new community indexed' do get :index, { "selected_type" => :community} @@ -122,11 +142,6 @@ class ElasticsearchPluginControllerTest < ActionController::TestCase assert_redirected_to controller: 'elasticsearch_plugin', action: 'search', params: params end - should 'pass params to elastic search controller' do - get 'index', { query: 'community' } - assert_not_nil assigns(:results) - assert_template partial: '_community_display' - end should 'filter community by default environment' do get :index, { "selected_type" => :community} @@ -140,4 +155,22 @@ class ElasticsearchPluginControllerTest < ActionController::TestCase assert_select ".search-item", 5 end + should 'not show private text_article' do + get :index, { :selected_type => "text_article" } + assert_response :success + assert_select ".search-item", 6 + end + + should 'not show private uploaded_file' do + get :index, { :selected_type => "uploaded_file" } + assert_response :success + assert_select ".search-item", 0 + end + + should 'not show private event' do + get :index, { :selected_type => "event" } + assert_response :success + assert_select ".search-item", 0 + end + end -- libgit2 0.21.2