Fixes #3378 - Spaces stay URL-encoded when going back to search results on KB for agents.
This commit is contained in:
parent
7597d147c1
commit
37e01cab84
2 changed files with 39 additions and 1 deletions
|
@ -14,7 +14,8 @@ class App.KnowledgeBaseSearchController extends App.Controller
|
||||||
return_path: @parentController.getKnowledgeBase().uiUrl(@parentController.kb_locale(), 'search')
|
return_path: @parentController.getKnowledgeBase().uiUrl(@parentController.kb_locale(), 'search')
|
||||||
)
|
)
|
||||||
|
|
||||||
if query = @parentController.lastParams.arguments
|
if @parentController.lastParams.arguments
|
||||||
|
query = decodeURIComponent(@parentController.lastParams.arguments)
|
||||||
@searchFieldPanel.widget.startSearch(query)
|
@searchFieldPanel.widget.startSearch(query)
|
||||||
|
|
||||||
@searchFieldPanel.widget.focus()
|
@searchFieldPanel.widget.focus()
|
||||||
|
|
37
spec/system/knowledge_base/locale/search_spec.rb
Normal file
37
spec/system/knowledge_base/locale/search_spec.rb
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
# Copyright (C) 2012-2021 Zammad Foundation, http://zammad-foundation.org/
|
||||||
|
|
||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
RSpec.describe 'Knowledge Base Locale Search', type: :system do
|
||||||
|
include_context 'basic Knowledge Base'
|
||||||
|
|
||||||
|
let!(:answer_for_search) { create(:knowledge_base_answer, category: category, translation_attributes: { title: 'A example title' }) }
|
||||||
|
|
||||||
|
context 'when search query is directly used inside the url' do
|
||||||
|
let(:search_query) { nil }
|
||||||
|
|
||||||
|
before do
|
||||||
|
visit "#knowledge_base/#{knowledge_base.id}/locale/#{locale_name}/search/#{search_query}"
|
||||||
|
end
|
||||||
|
|
||||||
|
shared_examples 'check search result' do
|
||||||
|
it 'answer exists in search result' do
|
||||||
|
within :active_content do
|
||||||
|
expect(page).to have_css('.knowledge-base-main .section', text: answer_for_search.translations.first.title)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when search query is a single word' do
|
||||||
|
let(:search_query) { 'Example' }
|
||||||
|
|
||||||
|
include_examples 'check search result'
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when search query has encoded characters' do
|
||||||
|
let(:search_query) { 'A%20Example' }
|
||||||
|
|
||||||
|
include_examples 'check search result'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in a new issue