From 625d8f639e19de27e51b55a2dccb451f30eb1f7d Mon Sep 17 00:00:00 2001 From: Macartur Sousa Date: Mon, 11 Jul 2016 14:23:27 -0300 Subject: [PATCH] Elasticsearch: Fixed test --- plugins/elasticsearch/helpers/elasticsearch_helper.rb | 1 - plugins/elasticsearch/helpers/searchable_model/elasticsearch_indexed_model.rb | 2 +- plugins/elasticsearch/lib/elasticsearch_plugin/api.rb | 2 +- plugins/elasticsearch/test/test_helper.rb | 2 +- plugins/elasticsearch/test/unit/api/elasticsearch_plugin_api_test.rb | 4 +++- plugins/elasticsearch/test/unit/api/elasticsearch_plugin_entities_test.rb | 14 ++++++++------ plugins/elasticsearch/test/unit/controllers/elasticsearch_plugin_controller_test.rb | 4 ++-- plugins/elasticsearch/test/unit/helpers/elasticsearch_helper_test.rb | 11 ----------- plugins/elasticsearch/test/unit/models/community_test.rb | 2 +- plugins/elasticsearch/test/unit/models/event_test.rb | 2 +- plugins/elasticsearch/test/unit/models/person_test.rb | 2 +- plugins/elasticsearch/test/unit/models/text_article_test.rb | 2 +- plugins/elasticsearch/test/unit/models/uploaded_file_test.rb | 2 +- plugins/elasticsearch/views/elasticsearch_plugin/search.html.erb | 2 +- 14 files changed, 22 insertions(+), 30 deletions(-) diff --git a/plugins/elasticsearch/helpers/elasticsearch_helper.rb b/plugins/elasticsearch/helpers/elasticsearch_helper.rb index b70d64a..71b5c45 100644 --- a/plugins/elasticsearch/helpers/elasticsearch_helper.rb +++ b/plugins/elasticsearch/helpers/elasticsearch_helper.rb @@ -71,7 +71,6 @@ module ElasticsearchHelper def query_string expression="", models=[] return { match_all: {} } if not expression - { query_string: { query: "*"+expression.downcase.split.join('* *')+"*", diff --git a/plugins/elasticsearch/helpers/searchable_model/elasticsearch_indexed_model.rb b/plugins/elasticsearch/helpers/searchable_model/elasticsearch_indexed_model.rb index 52ef9a0..1866c29 100644 --- a/plugins/elasticsearch/helpers/searchable_model/elasticsearch_indexed_model.rb +++ b/plugins/elasticsearch/helpers/searchable_model/elasticsearch_indexed_model.rb @@ -66,6 +66,7 @@ module ElasticsearchIndexedModel def indexed_fields fields = { + :id => {type: :integer }, :environment => {type: :nested, hash: NestedEnvironment::environment_hash }, :category_ids => {type: :integer }, :created_at => {type: :date } @@ -83,7 +84,6 @@ module ElasticsearchIndexedModel self.class.indexed_fields.each do |field, value| type = value[:type].presence - if type == :nested attrs[field] = {} value[:hash].each do |hash_field, hash_value| diff --git a/plugins/elasticsearch/lib/elasticsearch_plugin/api.rb b/plugins/elasticsearch/lib/elasticsearch_plugin/api.rb index b18e9dc..e3f74fe 100644 --- a/plugins/elasticsearch/lib/elasticsearch_plugin/api.rb +++ b/plugins/elasticsearch/lib/elasticsearch_plugin/api.rb @@ -10,7 +10,7 @@ class ElasticsearchPlugin::API < Grape::API target = process_results present target, :with => Elasticsearch::Entities::Result, - :types => ElasticsearchHelper.searchable_types.except(:all).keys.map { |key| key.to_s.classify } + :types => searchable_types.except(:all).keys.map { |key| key.to_s.classify } end get 'types' do diff --git a/plugins/elasticsearch/test/test_helper.rb b/plugins/elasticsearch/test/test_helper.rb index 6cf0727..3f584f7 100644 --- a/plugins/elasticsearch/test/test_helper.rb +++ b/plugins/elasticsearch/test/test_helper.rb @@ -20,7 +20,7 @@ module ElasticsearchTestHelper model.__elasticsearch__.create_index! force: true model.import } - sleep 2 + sleep 3 end def setup_environment diff --git a/plugins/elasticsearch/test/unit/api/elasticsearch_plugin_api_test.rb b/plugins/elasticsearch/test/unit/api/elasticsearch_plugin_api_test.rb index e149bd9..7ed74f0 100644 --- a/plugins/elasticsearch/test/unit/api/elasticsearch_plugin_api_test.rb +++ b/plugins/elasticsearch/test/unit/api/elasticsearch_plugin_api_test.rb @@ -1,8 +1,10 @@ require "#{File.dirname(__FILE__)}/../../test_helper" +require_relative '../../../helpers/elasticsearch_helper' class ElasticsearchPluginApiTest < ActiveSupport::TestCase include ElasticsearchTestHelper + include ElasticsearchHelper def indexed_models [Community, Person] @@ -17,7 +19,7 @@ class ElasticsearchPluginApiTest < ActiveSupport::TestCase get "/api/v1/search/types" json = JSON.parse(last_response.body) assert_equal 200, last_response.status - assert_equal ElasticsearchHelper::searchable_types.stringify_keys.keys, json["types"] + assert_equal searchable_types.stringify_keys.keys, json["types"] end should 'respond with endpoint /search with more than 10 results' do diff --git a/plugins/elasticsearch/test/unit/api/elasticsearch_plugin_entities_test.rb b/plugins/elasticsearch/test/unit/api/elasticsearch_plugin_entities_test.rb index 415b9f3..986e862 100644 --- a/plugins/elasticsearch/test/unit/api/elasticsearch_plugin_entities_test.rb +++ b/plugins/elasticsearch/test/unit/api/elasticsearch_plugin_entities_test.rb @@ -9,14 +9,14 @@ class ElasticsearchPluginEntitiesTest < ActiveSupport::TestCase end def create_instances - user = create_user "sample person" + user = create_user "sample person", environment_id: 1 - fast_create Community, name: "sample community", created_at: 10.days.ago,updated_at: 5.days.ago - fast_create UploadedFile, name: "sample uploadedfile", created_at: 3.days.ago, updated_at: 1.days.ago, author_id: user.person.id, abstract: "sample abstract" - fast_create Event, name: "sample event", created_at: 20.days.ago, updated_at: 5.days.ago, author_id: user.person.id, abstract: "sample abstract" + fast_create Community, name: "sample community", created_at: 10.days.ago,updated_at: 5.days.ago, environment_id: 1 - fast_create RawHTMLArticle, name: "sample raw html article", created_at: 15.days.ago ,updated_at: 5.days.ago, author_id: user.person.id - fast_create TinyMceArticle, name: "sample tiny mce article", created_at: 5.days.ago, updated_at: 5.days.ago, author_id: user.person.id + fast_create UploadedFile, name: "sample uploadedfile", created_at: 3.days.ago, updated_at: 1.days.ago, author_id: user.person.id, abstract: "sample abstract", profile_id: user.person.id + fast_create Event, name: "sample event", created_at: 20.days.ago, updated_at: 5.days.ago, author_id: user.person.id, abstract: "sample abstract", profile_id: user.person.id + fast_create RawHTMLArticle, name: "sample raw html article", created_at: 15.days.ago ,updated_at: 5.days.ago, author_id: user.person.id, profile_id: user.person.id + fast_create TinyMceArticle, name: "sample tiny mce article", created_at: 5.days.ago, updated_at: 5.days.ago, author_id: user.person.id, profile_id: user.person.id end should 'show attributes from person' do @@ -35,6 +35,7 @@ class ElasticsearchPluginEntitiesTest < ActiveSupport::TestCase assert_equal expected_person.updated_at.strftime("%Y/%m/%d %H:%M:%S"), json['results'][0]['updated_at'] end + should 'show attributes from community' do params = {:selected_type => "community" } get "/api/v1/search?#{params.to_query}" @@ -43,6 +44,7 @@ class ElasticsearchPluginEntitiesTest < ActiveSupport::TestCase expected_community = Community.find_by name: "sample community" assert_equal 200, last_response.status + assert_equal expected_community.id, json['results'][0]['id'] assert_equal expected_community.name, json['results'][0]['name'] assert_equal expected_community.type, json['results'][0]['type'] diff --git a/plugins/elasticsearch/test/unit/controllers/elasticsearch_plugin_controller_test.rb b/plugins/elasticsearch/test/unit/controllers/elasticsearch_plugin_controller_test.rb index b03dc70..c98adc9 100644 --- a/plugins/elasticsearch/test/unit/controllers/elasticsearch_plugin_controller_test.rb +++ b/plugins/elasticsearch/test/unit/controllers/elasticsearch_plugin_controller_test.rb @@ -30,8 +30,8 @@ class ElasticsearchPluginControllerTest < ActionController::TestCase assert_response :success assert_not_nil assigns(:searchable_types) assert_not_nil assigns(:selected_type) - assert_not_nil assigns(:filter_types) - assert_not_nil assigns(:selected_filter) + assert_not_nil assigns(:sort_types) + assert_not_nil assigns(:selected_sort) end should 'return 10 results if selected_type is nil and query is nil' do diff --git a/plugins/elasticsearch/test/unit/helpers/elasticsearch_helper_test.rb b/plugins/elasticsearch/test/unit/helpers/elasticsearch_helper_test.rb index c767b7c..e3a6216 100644 --- a/plugins/elasticsearch/test/unit/helpers/elasticsearch_helper_test.rb +++ b/plugins/elasticsearch/test/unit/helpers/elasticsearch_helper_test.rb @@ -32,17 +32,6 @@ class ElasticsearchHelperTest < ActiveSupport::TestCase assert_equivalent indexed_models, searchable_models end - should 'return query_string if expression is valid' do - - query= "my_query" - fields = ['name','login'] - result = query_method(query,fields) - - assert_includes result[:query][:query_string][:query], query - assert_equivalent result[:query][:query_string][:fields], fields - end - - should 'return fields from models using weight' do class StubClass SEARCHABLE_FIELDS = {:name => {:weight => 10}, diff --git a/plugins/elasticsearch/test/unit/models/community_test.rb b/plugins/elasticsearch/test/unit/models/community_test.rb index 3d3036d..1066c2a 100644 --- a/plugins/elasticsearch/test/unit/models/community_test.rb +++ b/plugins/elasticsearch/test/unit/models/community_test.rb @@ -17,7 +17,7 @@ class CommunityTest < ActionController::TestCase should 'index control fields for Community model' do Community::control_fields.each do |key, value| assert_includes indexed_fields(Community), key - assert_includes indexed_fields(Community)[key][:type], value[:type] || 'string' + assert_equal indexed_fields(Community)[key][:type], value[:type] || 'string' end end diff --git a/plugins/elasticsearch/test/unit/models/event_test.rb b/plugins/elasticsearch/test/unit/models/event_test.rb index 8b044f5..07c56fa 100644 --- a/plugins/elasticsearch/test/unit/models/event_test.rb +++ b/plugins/elasticsearch/test/unit/models/event_test.rb @@ -17,7 +17,7 @@ class EventTest < ActionController::TestCase should 'index control fields for Event model' do Event::control_fields.each do |key, value| assert_includes indexed_fields(Event), key - assert_includes indexed_fields(Event)[key][:type], value[:type] || 'string' + assert_equal indexed_fields(Event)[key][:type], value[:type] || 'string' end end diff --git a/plugins/elasticsearch/test/unit/models/person_test.rb b/plugins/elasticsearch/test/unit/models/person_test.rb index 0012343..1e5baad 100644 --- a/plugins/elasticsearch/test/unit/models/person_test.rb +++ b/plugins/elasticsearch/test/unit/models/person_test.rb @@ -17,7 +17,7 @@ class PersonTest < ActionController::TestCase should 'index control fields for Person model' do Person::control_fields.each do |key, value| assert_includes indexed_fields(Person), key - assert_includes indexed_fields(Person)[key][:type], value[:type] || 'string' + assert_equal indexed_fields(Person)[key][:type], value[:type] || 'string' end end end diff --git a/plugins/elasticsearch/test/unit/models/text_article_test.rb b/plugins/elasticsearch/test/unit/models/text_article_test.rb index 1455d8f..873c5a4 100644 --- a/plugins/elasticsearch/test/unit/models/text_article_test.rb +++ b/plugins/elasticsearch/test/unit/models/text_article_test.rb @@ -17,7 +17,7 @@ class TextArticleTest < ActionController::TestCase should 'index control fields for TextArticle model' do TextArticle::control_fields.each do |key, value| assert_includes indexed_fields(TextArticle), key - assert_includes indexed_fields(TextArticle)[key][:type], value[:type] || 'string' + assert_equal indexed_fields(TextArticle)[key][:type], value[:type] || 'string' end end diff --git a/plugins/elasticsearch/test/unit/models/uploaded_file_test.rb b/plugins/elasticsearch/test/unit/models/uploaded_file_test.rb index 0146047..7615f7a 100644 --- a/plugins/elasticsearch/test/unit/models/uploaded_file_test.rb +++ b/plugins/elasticsearch/test/unit/models/uploaded_file_test.rb @@ -17,7 +17,7 @@ class UploadedFileTest < ActionController::TestCase should 'index control fields for UploadedFile model' do UploadedFile::control_fields.each do |key, value| assert_includes indexed_fields(UploadedFile), key - assert_includes indexed_fields(UploadedFile)[key][:type], value[:type].presence || 'string' + assert_equal indexed_fields(UploadedFile)[key][:type], value[:type].presence || 'string' end end diff --git a/plugins/elasticsearch/views/elasticsearch_plugin/search.html.erb b/plugins/elasticsearch/views/elasticsearch_plugin/search.html.erb index 425be80..fa2226c 100644 --- a/plugins/elasticsearch/views/elasticsearch_plugin/search.html.erb +++ b/plugins/elasticsearch/views/elasticsearch_plugin/search.html.erb @@ -27,7 +27,7 @@ -- libgit2 0.21.2