From 1110c0124def61533d8a0631fb589ee00eaedbba Mon Sep 17 00:00:00 2001 From: DylanGuedes Date: Mon, 18 Jul 2016 14:32:28 +0000 Subject: [PATCH] Elasticsearch: Adds tests for the category --- plugins/elasticsearch/test/api/elasticsearch_plugin_api_test.rb | 14 +++++++++++++- plugins/elasticsearch/test/functional/elasticsearch_plugin_controller_test.rb | 20 +++++++++++++++++--- 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/plugins/elasticsearch/test/api/elasticsearch_plugin_api_test.rb b/plugins/elasticsearch/test/api/elasticsearch_plugin_api_test.rb index f468aac..a1d9519 100644 --- a/plugins/elasticsearch/test/api/elasticsearch_plugin_api_test.rb +++ b/plugins/elasticsearch/test/api/elasticsearch_plugin_api_test.rb @@ -57,8 +57,13 @@ class ElasticsearchPluginApiTest < ActiveSupport::TestCase end def create_instances + 5.times.each {|index| fast_create Category, name: "category#{index}", id: index+1 } 7.times.each {|index| create_user "person #{index}"} - 4.times.each {|index| fast_create Community, name: "community #{index}" } + 4.times.each do |index| + community = fast_create Community, name: "community #{index}" + community.categories.push Category.find(index+1) + community.save + end end should 'show all types avaliable in /search/types endpoint' do @@ -110,4 +115,11 @@ class ElasticsearchPluginApiTest < ActiveSupport::TestCase assert_equal 7, json["results"].count end + should 'respond with only the correct categories' do + get "/api/v1/search?categories=1,2,3" + json = JSON.parse(last_response.body) + assert_equal 200, last_response.status + assert_equal 3, json["results"].count + end + end diff --git a/plugins/elasticsearch/test/functional/elasticsearch_plugin_controller_test.rb b/plugins/elasticsearch/test/functional/elasticsearch_plugin_controller_test.rb index eb7db88..63e2976 100644 --- a/plugins/elasticsearch/test/functional/elasticsearch_plugin_controller_test.rb +++ b/plugins/elasticsearch/test/functional/elasticsearch_plugin_controller_test.rb @@ -24,11 +24,18 @@ class ElasticsearchPluginControllerTest < ActionController::TestCase end def create_visible_models + categories = [] 5.times do | index | + categories[index] = fast_create Category, name: "Category#{index}", id: index+1 create_user "person #{index}" end + 6.times do | index | - fast_create Community, name: "community #{index}", created_at: Date.new + community = fast_create Community, name: "community #{index}", created_at: Date.new + if categories[index] + community.categories.push categories[index] + community.save + end end end @@ -45,7 +52,6 @@ class ElasticsearchPluginControllerTest < ActionController::TestCase 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 = {} @@ -142,7 +148,6 @@ class ElasticsearchPluginControllerTest < ActionController::TestCase assert_redirected_to controller: 'elasticsearch_plugin', action: 'search', params: params end - should 'filter community by default environment' do get :index, { "selected_type" => :community} assert_response :success @@ -173,4 +178,13 @@ class ElasticsearchPluginControllerTest < ActionController::TestCase assert_select ".search-item", 0 end + should 'filter by selected categories' do + get :index, { "categories" => "1,2,3" } + assert_response :success + assert_select ".search-item", 3 + get :index, { "categories" => "5" } + assert_response :success + assert_select ".search-item", 1 + end + end -- libgit2 0.21.2