Skip to content

Commit 93b22cb

Browse files
111639: Fixed search settings not using the scope
1 parent 22e87a5 commit 93b22cb

4 files changed

Lines changed: 21 additions & 48 deletions

File tree

src/app/shared/search/search-settings/search-settings.component.spec.ts

Lines changed: 3 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,39 @@
1-
import { SearchService } from '../../../core/shared/search/search.service';
21
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
32
import { SearchSettingsComponent } from './search-settings.component';
43
import { of as observableOf } from 'rxjs';
54
import { PaginationComponentOptions } from '../../pagination/pagination-component-options.model';
65
import { SortDirection, SortOptions } from '../../../core/cache/models/sort-options.model';
76
import { TranslateModule } from '@ngx-translate/core';
87
import { RouterTestingModule } from '@angular/router/testing';
9-
import { ActivatedRoute } from '@angular/router';
108
import { NO_ERRORS_SCHEMA } from '@angular/core';
119
import { EnumKeysPipe } from '../../utils/enum-keys-pipe';
1210
import { By } from '@angular/platform-browser';
13-
import { SearchFilterService } from '../../../core/shared/search/search-filter.service';
1411
import { VarDirective } from '../../utils/var.directive';
1512
import { SEARCH_CONFIG_SERVICE } from '../../../my-dspace-page/my-dspace-page.component';
16-
import { SidebarService } from '../../sidebar/sidebar.service';
17-
import { SidebarServiceStub } from '../../testing/sidebar-service.stub';
1813
import { PaginationService } from '../../../core/pagination/pagination.service';
1914
import { PaginationServiceStub } from '../../testing/pagination-service.stub';
2015

2116
describe('SearchSettingsComponent', () => {
2217

2318
let comp: SearchSettingsComponent;
2419
let fixture: ComponentFixture<SearchSettingsComponent>;
25-
let searchServiceObject: SearchService;
2620

2721
let pagination: PaginationComponentOptions;
2822
let sort: SortOptions;
29-
let mockResults;
30-
let searchServiceStub;
3123

3224
let queryParam;
3325
let scopeParam;
3426
let paginatedSearchOptions;
3527

36-
let paginationService;
28+
let paginationService: PaginationServiceStub;
3729

38-
let activatedRouteStub;
3930

40-
beforeEach(waitForAsync(() => {
31+
beforeEach(waitForAsync(async () => {
4132
pagination = new PaginationComponentOptions();
4233
pagination.id = 'search-results-pagination';
4334
pagination.currentPage = 1;
4435
pagination.pageSize = 10;
4536
sort = new SortOptions('score', SortDirection.DESC);
46-
mockResults = ['test', 'data'];
47-
searchServiceStub = {
48-
searchOptions: { pagination: pagination, sort: sort },
49-
search: () => mockResults,
50-
};
5137

5238
queryParam = 'test query';
5339
scopeParam = '7669c72a-3f2a-451f-a3b9-9210e7a4c02f';
@@ -58,30 +44,12 @@ describe('SearchSettingsComponent', () => {
5844
sort,
5945
};
6046

61-
activatedRouteStub = {
62-
queryParams: observableOf({
63-
query: queryParam,
64-
scope: scopeParam,
65-
}),
66-
};
67-
6847
paginationService = new PaginationServiceStub(pagination, sort);
6948

70-
TestBed.configureTestingModule({
49+
await TestBed.configureTestingModule({
7150
imports: [TranslateModule.forRoot(), RouterTestingModule.withRoutes([])],
7251
declarations: [SearchSettingsComponent, EnumKeysPipe, VarDirective],
7352
providers: [
74-
{ provide: SearchService, useValue: searchServiceStub },
75-
76-
{ provide: ActivatedRoute, useValue: activatedRouteStub },
77-
{
78-
provide: SidebarService,
79-
useValue: SidebarServiceStub,
80-
},
81-
{
82-
provide: SearchFilterService,
83-
useValue: {},
84-
},
8553
{
8654
provide: PaginationService,
8755
useValue: paginationService,
@@ -111,10 +79,7 @@ describe('SearchSettingsComponent', () => {
11179

11280
// SearchPageComponent test instance
11381
fixture.detectChanges();
114-
searchServiceObject = (comp as any).service;
11582
spyOn(comp, 'reloadOrder');
116-
spyOn(searchServiceObject, 'search').and.callThrough();
117-
11883
});
11984

12085
it('it should show the order settings with the respective selectable options', () => {

src/app/shared/search/search-settings/search-settings.component.ts

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
import { Component, Inject, Input } from '@angular/core';
2-
import { SearchService } from '../../../core/shared/search/search.service';
32
import { SortDirection, SortOptions } from '../../../core/cache/models/sort-options.model';
4-
import { ActivatedRoute, Router } from '@angular/router';
53
import { SearchConfigurationService } from '../../../core/shared/search/search-configuration.service';
64
import { SEARCH_CONFIG_SERVICE } from '../../../my-dspace-page/my-dspace-page.component';
75
import { PaginationService } from '../../../core/pagination/pagination.service';
@@ -26,11 +24,10 @@ export class SearchSettingsComponent {
2624
*/
2725
@Input() sortOptionsList: SortOptions[];
2826

29-
constructor(private service: SearchService,
30-
private route: ActivatedRoute,
31-
private router: Router,
32-
private paginationService: PaginationService,
33-
@Inject(SEARCH_CONFIG_SERVICE) public searchConfigurationService: SearchConfigurationService) {
27+
constructor(
28+
protected paginationService: PaginationService,
29+
@Inject(SEARCH_CONFIG_SERVICE) public searchConfigurationService: SearchConfigurationService,
30+
) {
3431
}
3532

3633
/**

src/app/shared/search/search.component.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -315,9 +315,8 @@ export class SearchComponent implements OnDestroy, OnInit {
315315
// Determinate PaginatedSearchOptions and listen to any update on it
316316
const configuration$: Observable<string> = this.searchConfigService
317317
.getCurrentConfiguration(this.configuration).pipe(distinctUntilChanged());
318-
const searchSortOptions$: Observable<SortOptions[]> = configuration$.pipe(
319-
switchMap((configuration: string) => this.searchConfigService
320-
.getConfigurationSearchConfig(configuration)),
318+
const searchSortOptions$: Observable<SortOptions[]> = combineLatest([configuration$, this.currentScope$]).pipe(
319+
switchMap(([configuration, scope]: [string, string]) => this.searchConfigService.getConfigurationSearchConfig(configuration, scope)),
321320
map((searchConfig: SearchConfig) => this.searchConfigService.getConfigurationSortOptions(searchConfig)),
322321
distinctUntilChanged()
323322
);

src/assets/i18n/en.json5

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3888,6 +3888,18 @@
38883888

38893889
"sorting.lastModified.DESC": "Last modified Descending",
38903890

3891+
"sorting.person.familyName.ASC": "Surname Ascending",
3892+
3893+
"sorting.person.familyName.DESC": "Surname Descending",
3894+
3895+
"sorting.person.givenName.ASC": "Name Ascending",
3896+
3897+
"sorting.person.givenName.DESC": "Name Descending",
3898+
3899+
"sorting.person.birthDate.ASC": "Birth Date Ascending",
3900+
3901+
"sorting.person.birthDate.DESC": "Birth Date Descending",
3902+
38913903
"statistics.title": "Statistics",
38923904

38933905
"statistics.header": "Statistics for {{ scope }}",

0 commit comments

Comments
 (0)