diff --git a/app/services/contacts/filter_service.rb b/app/services/contacts/filter_service.rb index cc90b8502..aaa7412d4 100644 --- a/app/services/contacts/filter_service.rb +++ b/app/services/contacts/filter_service.rb @@ -18,7 +18,7 @@ class Contacts::FilterService < FilterService @query_string += contact_query_string(current_filter, query_hash, current_index) end - base_relation.select('distinct contacts.id').where(@query_string, @filter_values.with_indifferent_access) + base_relation.where(@query_string, @filter_values.with_indifferent_access) end def contact_query_string(current_filter, query_hash, current_index) diff --git a/spec/services/contacts/filter_service_spec.rb b/spec/services/contacts/filter_service_spec.rb index 14f4c1d27..f52a6c934 100644 --- a/spec/services/contacts/filter_service_spec.rb +++ b/spec/services/contacts/filter_service_spec.rb @@ -55,7 +55,7 @@ describe ::Contacts::FilterService do attribute_key: 'browser_language', filter_operator: 'equal_to', values: ['en'], - query_operator: 'AND' + query_operator: 'OR' }.with_indifferent_access, { attribute_key: 'name', @@ -69,7 +69,7 @@ describe ::Contacts::FilterService do it 'filter contacts by additional_attributes' do params[:payload] = payload result = filter_service.new(params, user_1).perform - expect(result[:contacts].length).to be 1 + expect(result[:count]).to be 2 end it 'filter contact by tags' do