mirror of
https://github.com/Alfresco/alfresco-content-app.git
synced 2025-07-24 17:31:52 +00:00
fix route url special characters (#1000)
This commit is contained in:
committed by
Denys Vuika
parent
3641e0168f
commit
003cadfd86
@@ -131,7 +131,9 @@ export class SearchInputComponent implements OnInit, OnDestroy {
|
||||
|
||||
if (urlSegmentGroup) {
|
||||
const urlSegments: UrlSegment[] = urlSegmentGroup.segments;
|
||||
this.searchedWord = urlSegments[0].parameters['q'] || '';
|
||||
this.searchedWord = urlSegments[0].parameters['q']
|
||||
? decodeURIComponent(urlSegments[0].parameters['q'])
|
||||
: '';
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -8,6 +8,7 @@ import { Store } from '@ngrx/store';
|
||||
import { NavigateToFolder } from '../../../store/actions';
|
||||
import { Pagination } from '@alfresco/js-api';
|
||||
import { SearchQueryBuilderService } from '@alfresco/adf-content-services';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
|
||||
describe('SearchComponent', () => {
|
||||
let component: SearchResultsComponent;
|
||||
@@ -18,7 +19,25 @@ describe('SearchComponent', () => {
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [CoreModule.forRoot(), AppTestingModule, AppSearchResultsModule]
|
||||
imports: [CoreModule.forRoot(), AppTestingModule, AppSearchResultsModule],
|
||||
providers: [
|
||||
{
|
||||
provide: ActivatedRoute,
|
||||
useValue: {
|
||||
snapshot: {
|
||||
data: {
|
||||
sortingPreferenceKey: ''
|
||||
}
|
||||
},
|
||||
params: [
|
||||
{
|
||||
q:
|
||||
'TYPE: "cm:folder" AND %28=cm: name: email OR cm: name: budget%29'
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
config = TestBed.get(AppConfigService);
|
||||
@@ -27,9 +46,18 @@ describe('SearchComponent', () => {
|
||||
|
||||
fixture = TestBed.createComponent(SearchResultsComponent);
|
||||
component = fixture.componentInstance;
|
||||
|
||||
spyOn(queryBuilder, 'update').and.stub();
|
||||
|
||||
fixture.detectChanges();
|
||||
}));
|
||||
|
||||
it('should decode encoded URI', () => {
|
||||
expect(queryBuilder.userQuery).toEqual(
|
||||
'(TYPE: "cm:folder" AND (=cm: name: email OR cm: name: budget))'
|
||||
);
|
||||
});
|
||||
|
||||
it('should return null if formatting invalid query', () => {
|
||||
expect(component.formatSearchQuery(null)).toBeNull();
|
||||
expect(component.formatSearchQuery('')).toBeNull();
|
||||
@@ -169,8 +197,6 @@ describe('SearchComponent', () => {
|
||||
skipCount: 0
|
||||
});
|
||||
|
||||
spyOn(queryBuilder, 'update').and.stub();
|
||||
|
||||
component.onPaginationChanged(page);
|
||||
|
||||
expect(queryBuilder.paging).toEqual({
|
||||
|
@@ -102,7 +102,7 @@ export class SearchResultsComponent extends PageComponent implements OnInit {
|
||||
const query = this.formatSearchQuery(this.searchedWord);
|
||||
|
||||
if (query) {
|
||||
this.queryBuilder.userQuery = query;
|
||||
this.queryBuilder.userQuery = decodeURIComponent(query);
|
||||
this.queryBuilder.update();
|
||||
} else {
|
||||
this.queryBuilder.userQuery = null;
|
||||
|
Reference in New Issue
Block a user