mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 10:04:11 +00:00
76654: Implement feedback
This commit is contained in:
@@ -28,6 +28,7 @@ import { RequestService } from '../../../core/data/request.service';
|
|||||||
import { PaginationComponentOptions } from '../../../shared/pagination/pagination-component-options.model';
|
import { PaginationComponentOptions } from '../../../shared/pagination/pagination-component-options.model';
|
||||||
import { SortDirection, SortOptions } from '../../../core/cache/models/sort-options.model';
|
import { SortDirection, SortOptions } from '../../../core/cache/models/sort-options.model';
|
||||||
import { PaginationService } from '../../../core/pagination/pagination.service';
|
import { PaginationService } from '../../../core/pagination/pagination.service';
|
||||||
|
import { PaginationServiceStub } from '../../../shared/testing/pagination-service.stub';
|
||||||
|
|
||||||
describe('EPeopleRegistryComponent', () => {
|
describe('EPeopleRegistryComponent', () => {
|
||||||
let component: EPeopleRegistryComponent;
|
let component: EPeopleRegistryComponent;
|
||||||
@@ -121,15 +122,7 @@ describe('EPeopleRegistryComponent', () => {
|
|||||||
builderService = getMockFormBuilderService();
|
builderService = getMockFormBuilderService();
|
||||||
translateService = getMockTranslateService();
|
translateService = getMockTranslateService();
|
||||||
|
|
||||||
const pagination = Object.assign(new PaginationComponentOptions(), { currentPage: 1, pageSize: 20 });
|
paginationService = new PaginationServiceStub();
|
||||||
const sort = new SortOptions('score', SortDirection.DESC);
|
|
||||||
const findlistOptions = Object.assign(new FindListOptions(), { currentPage: 1, elementsPerPage: 20 });
|
|
||||||
paginationService = jasmine.createSpyObj('PaginationService', {
|
|
||||||
getCurrentPagination: observableOf(pagination),
|
|
||||||
getCurrentSort: observableOf(sort),
|
|
||||||
getFindListOptions: observableOf(findlistOptions),
|
|
||||||
resetPage: {},
|
|
||||||
});
|
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
imports: [CommonModule, NgbModule, FormsModule, ReactiveFormsModule, BrowserModule,
|
imports: [CommonModule, NgbModule, FormsModule, ReactiveFormsModule, BrowserModule,
|
||||||
TranslateModule.forRoot({
|
TranslateModule.forRoot({
|
||||||
|
@@ -70,11 +70,6 @@ export class EPeopleRegistryComponent implements OnInit, OnDestroy {
|
|||||||
currentSearchQuery: string;
|
currentSearchQuery: string;
|
||||||
currentSearchScope: string;
|
currentSearchScope: string;
|
||||||
|
|
||||||
/**
|
|
||||||
* The subscription for the search method
|
|
||||||
*/
|
|
||||||
searchSub: Subscription;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* FindListOptions
|
* FindListOptions
|
||||||
*/
|
*/
|
||||||
@@ -150,7 +145,8 @@ export class EPeopleRegistryComponent implements OnInit, OnDestroy {
|
|||||||
if (hasValue(this.findListOptionsSub)) {
|
if (hasValue(this.findListOptionsSub)) {
|
||||||
this.findListOptionsSub.unsubscribe();
|
this.findListOptionsSub.unsubscribe();
|
||||||
}
|
}
|
||||||
this.findListOptionsSub = this.paginationService.getCurrentPagination(this.config.id, this.config).subscribe((findListOptions) => {
|
this.findListOptionsSub = this.paginationService.getCurrentPagination(this.config.id, this.config).pipe(
|
||||||
|
switchMap((findListOptions) => {
|
||||||
const query: string = data.query;
|
const query: string = data.query;
|
||||||
const scope: string = data.scope;
|
const scope: string = data.scope;
|
||||||
if (query != null && this.currentSearchQuery !== query) {
|
if (query != null && this.currentSearchQuery !== query) {
|
||||||
@@ -168,23 +164,18 @@ export class EPeopleRegistryComponent implements OnInit, OnDestroy {
|
|||||||
this.paginationService.resetPage(this.config.id);
|
this.paginationService.resetPage(this.config.id);
|
||||||
|
|
||||||
}
|
}
|
||||||
if (hasValue(this.searchSub)) {
|
return this.epersonService.searchByScope(this.currentSearchScope, this.currentSearchQuery, {
|
||||||
this.searchSub.unsubscribe();
|
|
||||||
this.subs = this.subs.filter((sub: Subscription) => sub !== this.searchSub);
|
|
||||||
}
|
|
||||||
this.searchSub = this.epersonService.searchByScope(this.currentSearchScope, this.currentSearchQuery, {
|
|
||||||
currentPage: findListOptions.currentPage,
|
currentPage: findListOptions.currentPage,
|
||||||
elementsPerPage: findListOptions.pageSize
|
elementsPerPage: findListOptions.pageSize
|
||||||
}).pipe(
|
});
|
||||||
|
}
|
||||||
|
),
|
||||||
getAllSucceededRemoteData(),
|
getAllSucceededRemoteData(),
|
||||||
).subscribe((peopleRD) => {
|
).subscribe((peopleRD) => {
|
||||||
this.ePeople$.next(peopleRD.payload);
|
this.ePeople$.next(peopleRD.payload);
|
||||||
this.pageInfoState$.next(peopleRD.payload.pageInfo);
|
this.pageInfoState$.next(peopleRD.payload.pageInfo);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
this.subs.push(this.searchSub);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -29,6 +29,7 @@ import { RequestService } from '../../../../core/data/request.service';
|
|||||||
import { PaginationComponentOptions } from '../../../../shared/pagination/pagination-component-options.model';
|
import { PaginationComponentOptions } from '../../../../shared/pagination/pagination-component-options.model';
|
||||||
import { SortDirection, SortOptions } from '../../../../core/cache/models/sort-options.model';
|
import { SortDirection, SortOptions } from '../../../../core/cache/models/sort-options.model';
|
||||||
import { PaginationService } from '../../../../core/pagination/pagination.service';
|
import { PaginationService } from '../../../../core/pagination/pagination.service';
|
||||||
|
import { PaginationServiceStub } from '../../../../shared/testing/pagination-service.stub';
|
||||||
|
|
||||||
describe('EPersonFormComponent', () => {
|
describe('EPersonFormComponent', () => {
|
||||||
let component: EPersonFormComponent;
|
let component: EPersonFormComponent;
|
||||||
@@ -41,7 +42,7 @@ describe('EPersonFormComponent', () => {
|
|||||||
let authorizationService: AuthorizationDataService;
|
let authorizationService: AuthorizationDataService;
|
||||||
let groupsDataService: GroupDataService;
|
let groupsDataService: GroupDataService;
|
||||||
|
|
||||||
let paginationService: PaginationService;
|
let paginationService;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -112,16 +113,7 @@ describe('EPersonFormComponent', () => {
|
|||||||
getGroupRegistryRouterLink: ''
|
getGroupRegistryRouterLink: ''
|
||||||
});
|
});
|
||||||
|
|
||||||
const pagination = Object.assign(new PaginationComponentOptions(), { currentPage: 1, pageSize: 20 });
|
paginationService = new PaginationServiceStub();
|
||||||
const sort = new SortOptions('score', SortDirection.DESC);
|
|
||||||
const findlistOptions = Object.assign(new FindListOptions(), { currentPage: 1, elementsPerPage: 20 });
|
|
||||||
paginationService = jasmine.createSpyObj('PaginationService', {
|
|
||||||
getCurrentPagination: observableOf(pagination),
|
|
||||||
getCurrentSort: observableOf(sort),
|
|
||||||
getFindListOptions: observableOf(findlistOptions),
|
|
||||||
resetPage: {},
|
|
||||||
updateRouteWithUrl: {}
|
|
||||||
});
|
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
imports: [CommonModule, NgbModule, FormsModule, ReactiveFormsModule, BrowserModule,
|
imports: [CommonModule, NgbModule, FormsModule, ReactiveFormsModule, BrowserModule,
|
||||||
TranslateModule.forRoot({
|
TranslateModule.forRoot({
|
||||||
|
@@ -30,6 +30,7 @@ import { PaginationComponentOptions } from '../../../../../shared/pagination/pag
|
|||||||
import { SortDirection, SortOptions } from '../../../../../core/cache/models/sort-options.model';
|
import { SortDirection, SortOptions } from '../../../../../core/cache/models/sort-options.model';
|
||||||
import { FindListOptions } from '../../../../../core/data/request.models';
|
import { FindListOptions } from '../../../../../core/data/request.models';
|
||||||
import { PaginationService } from '../../../../../core/pagination/pagination.service';
|
import { PaginationService } from '../../../../../core/pagination/pagination.service';
|
||||||
|
import { PaginationServiceStub } from '../../../../../shared/testing/pagination-service.stub';
|
||||||
|
|
||||||
describe('MembersListComponent', () => {
|
describe('MembersListComponent', () => {
|
||||||
let component: MembersListComponent;
|
let component: MembersListComponent;
|
||||||
@@ -119,16 +120,7 @@ describe('MembersListComponent', () => {
|
|||||||
builderService = getMockFormBuilderService();
|
builderService = getMockFormBuilderService();
|
||||||
translateService = getMockTranslateService();
|
translateService = getMockTranslateService();
|
||||||
|
|
||||||
const pagination = Object.assign(new PaginationComponentOptions(), { currentPage: 1, pageSize: 20 });
|
paginationService = new PaginationServiceStub();
|
||||||
const sort = new SortOptions('score', SortDirection.DESC);
|
|
||||||
const findlistOptions = Object.assign(new FindListOptions(), { currentPage: 1, elementsPerPage: 20 });
|
|
||||||
paginationService = jasmine.createSpyObj('PaginationService', {
|
|
||||||
getCurrentPagination: observableOf(pagination),
|
|
||||||
getCurrentSort: observableOf(sort),
|
|
||||||
getFindListOptions: observableOf(findlistOptions),
|
|
||||||
resetPage: {},
|
|
||||||
clearPagination : {},
|
|
||||||
});
|
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
imports: [CommonModule, NgbModule, FormsModule, ReactiveFormsModule, BrowserModule,
|
imports: [CommonModule, NgbModule, FormsModule, ReactiveFormsModule, BrowserModule,
|
||||||
TranslateModule.forRoot({
|
TranslateModule.forRoot({
|
||||||
|
@@ -39,6 +39,7 @@ import { PaginationComponentOptions } from '../../../../../shared/pagination/pag
|
|||||||
import { SortDirection, SortOptions } from '../../../../../core/cache/models/sort-options.model';
|
import { SortDirection, SortOptions } from '../../../../../core/cache/models/sort-options.model';
|
||||||
import { FindListOptions } from '../../../../../core/data/request.models';
|
import { FindListOptions } from '../../../../../core/data/request.models';
|
||||||
import { PaginationService } from '../../../../../core/pagination/pagination.service';
|
import { PaginationService } from '../../../../../core/pagination/pagination.service';
|
||||||
|
import { PaginationServiceStub } from '../../../../../shared/testing/pagination-service.stub';
|
||||||
|
|
||||||
describe('SubgroupsListComponent', () => {
|
describe('SubgroupsListComponent', () => {
|
||||||
let component: SubgroupsListComponent;
|
let component: SubgroupsListComponent;
|
||||||
@@ -106,17 +107,7 @@ describe('SubgroupsListComponent', () => {
|
|||||||
builderService = getMockFormBuilderService();
|
builderService = getMockFormBuilderService();
|
||||||
translateService = getMockTranslateService();
|
translateService = getMockTranslateService();
|
||||||
|
|
||||||
const pagination = Object.assign(new PaginationComponentOptions(), { currentPage: 1, pageSize: 20 });
|
paginationService = new PaginationServiceStub();
|
||||||
const sort = new SortOptions('score', SortDirection.DESC);
|
|
||||||
const findlistOptions = Object.assign(new FindListOptions(), { currentPage: 1, elementsPerPage: 20 });
|
|
||||||
paginationService = jasmine.createSpyObj('PaginationService', {
|
|
||||||
getCurrentPagination: observableOf(pagination),
|
|
||||||
getCurrentSort: observableOf(sort),
|
|
||||||
getFindListOptions: observableOf(findlistOptions),
|
|
||||||
resetPage: {},
|
|
||||||
updateRouteWithUrl: {},
|
|
||||||
clearPagination: {}
|
|
||||||
});
|
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
imports: [CommonModule, NgbModule, FormsModule, ReactiveFormsModule, BrowserModule,
|
imports: [CommonModule, NgbModule, FormsModule, ReactiveFormsModule, BrowserModule,
|
||||||
TranslateModule.forRoot({
|
TranslateModule.forRoot({
|
||||||
|
@@ -32,6 +32,7 @@ import { PaginationComponentOptions } from '../../../shared/pagination/paginatio
|
|||||||
import { SortDirection, SortOptions } from '../../../core/cache/models/sort-options.model';
|
import { SortDirection, SortOptions } from '../../../core/cache/models/sort-options.model';
|
||||||
import { FindListOptions } from '../../../core/data/request.models';
|
import { FindListOptions } from '../../../core/data/request.models';
|
||||||
import { PaginationService } from '../../../core/pagination/pagination.service';
|
import { PaginationService } from '../../../core/pagination/pagination.service';
|
||||||
|
import { PaginationServiceStub } from '../../../shared/testing/pagination-service.stub';
|
||||||
|
|
||||||
describe('GroupRegistryComponent', () => {
|
describe('GroupRegistryComponent', () => {
|
||||||
let component: GroupsRegistryComponent;
|
let component: GroupsRegistryComponent;
|
||||||
@@ -136,16 +137,7 @@ describe('GroupRegistryComponent', () => {
|
|||||||
authorizationService = jasmine.createSpyObj('authorizationService', {
|
authorizationService = jasmine.createSpyObj('authorizationService', {
|
||||||
isAuthorized: observableOf(true)
|
isAuthorized: observableOf(true)
|
||||||
});
|
});
|
||||||
const pagination = Object.assign(new PaginationComponentOptions(), { currentPage: 1, pageSize: 20 });
|
paginationService = new PaginationServiceStub();
|
||||||
const sort = new SortOptions('score', SortDirection.DESC);
|
|
||||||
const findlistOptions = Object.assign(new FindListOptions(), { currentPage: 1, elementsPerPage: 20 });
|
|
||||||
paginationService = jasmine.createSpyObj('PaginationService', {
|
|
||||||
getCurrentPagination: observableOf(pagination),
|
|
||||||
getCurrentSort: observableOf(sort),
|
|
||||||
getFindListOptions: observableOf(findlistOptions),
|
|
||||||
resetPage: {},
|
|
||||||
updateRouteWithUrl: {}
|
|
||||||
});
|
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
imports: [CommonModule, NgbModule, FormsModule, ReactiveFormsModule, BrowserModule,
|
imports: [CommonModule, NgbModule, FormsModule, ReactiveFormsModule, BrowserModule,
|
||||||
TranslateModule.forRoot({
|
TranslateModule.forRoot({
|
||||||
|
@@ -27,6 +27,7 @@ import { PaginationComponentOptions } from '../../../shared/pagination/paginatio
|
|||||||
import { SortDirection, SortOptions } from '../../../core/cache/models/sort-options.model';
|
import { SortDirection, SortOptions } from '../../../core/cache/models/sort-options.model';
|
||||||
import { FindListOptions } from '../../../core/data/request.models';
|
import { FindListOptions } from '../../../core/data/request.models';
|
||||||
import { PaginationService } from '../../../core/pagination/pagination.service';
|
import { PaginationService } from '../../../core/pagination/pagination.service';
|
||||||
|
import { PaginationServiceStub } from '../../../shared/testing/pagination-service.stub';
|
||||||
|
|
||||||
describe('BitstreamFormatsComponent', () => {
|
describe('BitstreamFormatsComponent', () => {
|
||||||
let comp: BitstreamFormatsComponent;
|
let comp: BitstreamFormatsComponent;
|
||||||
@@ -104,14 +105,7 @@ describe('BitstreamFormatsComponent', () => {
|
|||||||
clearBitStreamFormatRequests: observableOf('cleared')
|
clearBitStreamFormatRequests: observableOf('cleared')
|
||||||
});
|
});
|
||||||
|
|
||||||
paginationService = jasmine.createSpyObj('PaginationService', {
|
paginationService = new PaginationServiceStub();
|
||||||
getCurrentPagination: observableOf(pagination),
|
|
||||||
getCurrentSort: observableOf(sort),
|
|
||||||
getFindListOptions: observableOf(findlistOptions),
|
|
||||||
resetPage: {},
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
imports: [CommonModule, RouterTestingModule.withRoutes([]), TranslateModule.forRoot(), NgbModule],
|
imports: [CommonModule, RouterTestingModule.withRoutes([]), TranslateModule.forRoot(), NgbModule],
|
||||||
@@ -236,14 +230,7 @@ describe('BitstreamFormatsComponent', () => {
|
|||||||
clearBitStreamFormatRequests: observableOf('cleared')
|
clearBitStreamFormatRequests: observableOf('cleared')
|
||||||
});
|
});
|
||||||
|
|
||||||
paginationService = jasmine.createSpyObj('PaginationService', {
|
paginationService = new PaginationServiceStub();
|
||||||
getCurrentPagination: observableOf(pagination),
|
|
||||||
getCurrentSort: observableOf(sort),
|
|
||||||
getFindListOptions: observableOf(findlistOptions),
|
|
||||||
resetPage: {},
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
imports: [CommonModule, RouterTestingModule.withRoutes([]), TranslateModule.forRoot(), NgbModule],
|
imports: [CommonModule, RouterTestingModule.withRoutes([]), TranslateModule.forRoot(), NgbModule],
|
||||||
@@ -292,13 +279,7 @@ describe('BitstreamFormatsComponent', () => {
|
|||||||
clearBitStreamFormatRequests: observableOf('cleared')
|
clearBitStreamFormatRequests: observableOf('cleared')
|
||||||
});
|
});
|
||||||
|
|
||||||
paginationService = jasmine.createSpyObj('PaginationService', {
|
paginationService = new PaginationServiceStub();
|
||||||
getCurrentPagination: observableOf(pagination),
|
|
||||||
getCurrentSort: observableOf(sort),
|
|
||||||
getFindListOptions: observableOf(findlistOptions),
|
|
||||||
resetPage: {},
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
imports: [CommonModule, RouterTestingModule.withRoutes([]), TranslateModule.forRoot(), NgbModule],
|
imports: [CommonModule, RouterTestingModule.withRoutes([]), TranslateModule.forRoot(), NgbModule],
|
||||||
|
@@ -28,11 +28,6 @@ export class BitstreamFormatsComponent implements OnInit, OnDestroy {
|
|||||||
*/
|
*/
|
||||||
bitstreamFormats: Observable<RemoteData<PaginatedList<BitstreamFormat>>>;
|
bitstreamFormats: Observable<RemoteData<PaginatedList<BitstreamFormat>>>;
|
||||||
|
|
||||||
/**
|
|
||||||
* A BehaviourSubject that keeps track of the pageState used to update the currently displayed bitstreamFormats
|
|
||||||
*/
|
|
||||||
// pageState: BehaviorSubject<string>;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The current pagination configuration for the page used by the FindAll method
|
* The current pagination configuration for the page used by the FindAll method
|
||||||
* Currently simply renders all bitstream formats
|
* Currently simply renders all bitstream formats
|
||||||
|
@@ -22,12 +22,13 @@ import { PaginationService } from '../../../core/pagination/pagination.service';
|
|||||||
import { PaginationComponentOptions } from '../../../shared/pagination/pagination-component-options.model';
|
import { PaginationComponentOptions } from '../../../shared/pagination/pagination-component-options.model';
|
||||||
import { SortDirection, SortOptions } from '../../../core/cache/models/sort-options.model';
|
import { SortDirection, SortOptions } from '../../../core/cache/models/sort-options.model';
|
||||||
import { FindListOptions } from '../../../core/data/request.models';
|
import { FindListOptions } from '../../../core/data/request.models';
|
||||||
|
import { PaginationServiceStub } from '../../../shared/testing/pagination-service.stub';
|
||||||
|
|
||||||
describe('MetadataRegistryComponent', () => {
|
describe('MetadataRegistryComponent', () => {
|
||||||
let comp: MetadataRegistryComponent;
|
let comp: MetadataRegistryComponent;
|
||||||
let fixture: ComponentFixture<MetadataRegistryComponent>;
|
let fixture: ComponentFixture<MetadataRegistryComponent>;
|
||||||
let registryService: RegistryService;
|
let registryService: RegistryService;
|
||||||
let paginationService: PaginationService;
|
let paginationService;
|
||||||
const mockSchemasList = [
|
const mockSchemasList = [
|
||||||
{
|
{
|
||||||
id: 1,
|
id: 1,
|
||||||
@@ -67,14 +68,7 @@ describe('MetadataRegistryComponent', () => {
|
|||||||
};
|
};
|
||||||
/* tslint:enable:no-empty */
|
/* tslint:enable:no-empty */
|
||||||
|
|
||||||
const pagination = Object.assign(new PaginationComponentOptions(), { currentPage: 1, pageSize: 20 });
|
paginationService = new PaginationServiceStub();
|
||||||
const sort = new SortOptions('score', SortDirection.DESC);
|
|
||||||
const findlistOptions = Object.assign(new FindListOptions(), { currentPage: 1, elementsPerPage: 20 });
|
|
||||||
paginationService = jasmine.createSpyObj('PaginationService', {
|
|
||||||
getCurrentPagination: observableOf(pagination),
|
|
||||||
getCurrentSort: observableOf(sort),
|
|
||||||
getFindListOptions: observableOf(findlistOptions),
|
|
||||||
});
|
|
||||||
|
|
||||||
beforeEach(waitForAsync(() => {
|
beforeEach(waitForAsync(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
|
@@ -27,6 +27,7 @@ import { PaginationComponentOptions } from '../../../shared/pagination/paginatio
|
|||||||
import { SortDirection, SortOptions } from '../../../core/cache/models/sort-options.model';
|
import { SortDirection, SortOptions } from '../../../core/cache/models/sort-options.model';
|
||||||
import { FindListOptions } from '../../../core/data/request.models';
|
import { FindListOptions } from '../../../core/data/request.models';
|
||||||
import { PaginationService } from '../../../core/pagination/pagination.service';
|
import { PaginationService } from '../../../core/pagination/pagination.service';
|
||||||
|
import { PaginationServiceStub } from '../../../shared/testing/pagination-service.stub';
|
||||||
|
|
||||||
describe('MetadataSchemaComponent', () => {
|
describe('MetadataSchemaComponent', () => {
|
||||||
let comp: MetadataSchemaComponent;
|
let comp: MetadataSchemaComponent;
|
||||||
@@ -129,15 +130,7 @@ describe('MetadataSchemaComponent', () => {
|
|||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
|
||||||
const pagination = Object.assign(new PaginationComponentOptions(), { currentPage: 1, pageSize: 20 });
|
const paginationService = new PaginationServiceStub();
|
||||||
const sort = new SortOptions('score', SortDirection.DESC);
|
|
||||||
const findlistOptions = Object.assign(new FindListOptions(), { currentPage: 1, elementsPerPage: 20 });
|
|
||||||
const paginationService = jasmine.createSpyObj('PaginationService', {
|
|
||||||
getCurrentPagination: observableOf(pagination),
|
|
||||||
getCurrentSort: observableOf(sort),
|
|
||||||
getFindListOptions: observableOf(findlistOptions),
|
|
||||||
resetPage: {},
|
|
||||||
});
|
|
||||||
|
|
||||||
beforeEach(waitForAsync(() => {
|
beforeEach(waitForAsync(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
|
@@ -22,6 +22,7 @@ import { PaginationComponentOptions } from '../../shared/pagination/pagination-c
|
|||||||
import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model';
|
import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model';
|
||||||
import { FindListOptions } from '../../core/data/request.models';
|
import { FindListOptions } from '../../core/data/request.models';
|
||||||
import { PaginationService } from '../../core/pagination/pagination.service';
|
import { PaginationService } from '../../core/pagination/pagination.service';
|
||||||
|
import { PaginationServiceStub } from '../../shared/testing/pagination-service.stub';
|
||||||
|
|
||||||
describe('BrowseByDatePageComponent', () => {
|
describe('BrowseByDatePageComponent', () => {
|
||||||
let comp: BrowseByDatePageComponent;
|
let comp: BrowseByDatePageComponent;
|
||||||
@@ -70,15 +71,7 @@ describe('BrowseByDatePageComponent', () => {
|
|||||||
detectChanges: () => fixture.detectChanges()
|
detectChanges: () => fixture.detectChanges()
|
||||||
});
|
});
|
||||||
|
|
||||||
const pagination = Object.assign(new PaginationComponentOptions(), { currentPage: 1, pageSize: 20 });
|
paginationService = new PaginationServiceStub();
|
||||||
const sort = new SortOptions('score', SortDirection.DESC);
|
|
||||||
const findlistOptions = Object.assign(new FindListOptions(), { currentPage: 1, elementsPerPage: 20 });
|
|
||||||
paginationService = jasmine.createSpyObj('PaginationService', {
|
|
||||||
getCurrentPagination: observableOf(pagination),
|
|
||||||
getCurrentSort: observableOf(sort),
|
|
||||||
getFindListOptions: observableOf(findlistOptions),
|
|
||||||
resetPage: {},
|
|
||||||
});
|
|
||||||
|
|
||||||
beforeEach(waitForAsync(() => {
|
beforeEach(waitForAsync(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
|
@@ -17,7 +17,7 @@ import { environment } from '../../../environments/environment';
|
|||||||
import { PaginationService } from '../../core/pagination/pagination.service';
|
import { PaginationService } from '../../core/pagination/pagination.service';
|
||||||
import { map } from 'rxjs/operators';
|
import { map } from 'rxjs/operators';
|
||||||
import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model';
|
import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model';
|
||||||
import { SortOptions } from '../../core/cache/models/sort-options.model';
|
import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'ds-browse-by-date-page',
|
selector: 'ds-browse-by-date-page',
|
||||||
@@ -47,13 +47,14 @@ export class BrowseByDatePageComponent extends BrowseByMetadataPageComponent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
|
const sortConfig = new SortOptions('default', SortDirection.ASC);
|
||||||
this.startsWithType = StartsWithType.date;
|
this.startsWithType = StartsWithType.date;
|
||||||
this.updatePage(new BrowseEntrySearchOptions(this.defaultBrowseId, this.paginationConfig, this.sortConfig));
|
this.updatePage(new BrowseEntrySearchOptions(this.defaultBrowseId, this.paginationConfig, sortConfig));
|
||||||
const currentPagination$ = this.paginationService.getCurrentPagination(this.paginationConfig.id, this.paginationConfig);
|
this.currentPagination$ = this.paginationService.getCurrentPagination(this.paginationConfig.id, this.paginationConfig);
|
||||||
const currentSort$ = this.paginationService.getCurrentSort(this.paginationConfig.id, this.sortConfig);
|
this.currentSort$ = this.paginationService.getCurrentSort(this.paginationConfig.id, sortConfig);
|
||||||
this.subs.push(
|
this.subs.push(
|
||||||
observableCombineLatest([this.route.params, this.route.queryParams, this.route.data,
|
observableCombineLatest([this.route.params, this.route.queryParams, this.route.data,
|
||||||
currentPagination$, currentSort$]).pipe(
|
this.currentPagination$, this.currentSort$]).pipe(
|
||||||
map(([routeParams, queryParams, data, currentPage, currentSort]) => {
|
map(([routeParams, queryParams, data, currentPage, currentSort]) => {
|
||||||
return [Object.assign({}, routeParams, queryParams, data), currentPage, currentSort];
|
return [Object.assign({}, routeParams, queryParams, data), currentPage, currentSort];
|
||||||
})
|
})
|
||||||
|
@@ -27,8 +27,8 @@
|
|||||||
title="{{'browse.title' | translate:{collection: (parent$ | async)?.payload?.name || '', field: 'browse.metadata.' + browseId | translate, value: (value)? '"' + value + '"': ''} }}"
|
title="{{'browse.title' | translate:{collection: (parent$ | async)?.payload?.name || '', field: 'browse.metadata.' + browseId | translate, value: (value)? '"' + value + '"': ''} }}"
|
||||||
parentname="{{(parent$ | async)?.payload?.name || ''}}"
|
parentname="{{(parent$ | async)?.payload?.name || ''}}"
|
||||||
[objects$]="(items$ !== undefined)? items$ : browseEntries$"
|
[objects$]="(items$ !== undefined)? items$ : browseEntries$"
|
||||||
[paginationConfig]="paginationConfig"
|
[paginationConfig]="(currentPagination$ |async)"
|
||||||
[sortConfig]="sortConfig"
|
[sortConfig]="(currentSort$ |async)"
|
||||||
[type]="startsWithType"
|
[type]="startsWithType"
|
||||||
[startsWithOptions]="startsWithOptions"
|
[startsWithOptions]="startsWithOptions"
|
||||||
[enableArrows]="true"
|
[enableArrows]="true"
|
||||||
|
@@ -24,16 +24,14 @@ import { VarDirective } from '../../shared/utils/var.directive';
|
|||||||
import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils';
|
import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils';
|
||||||
import { PaginationService } from '../../core/pagination/pagination.service';
|
import { PaginationService } from '../../core/pagination/pagination.service';
|
||||||
import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model';
|
import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model';
|
||||||
|
import { PaginationServiceStub } from '../../shared/testing/pagination-service.stub';
|
||||||
|
|
||||||
describe('BrowseByMetadataPageComponent', () => {
|
describe('BrowseByMetadataPageComponent', () => {
|
||||||
let comp: BrowseByMetadataPageComponent;
|
let comp: BrowseByMetadataPageComponent;
|
||||||
let fixture: ComponentFixture<BrowseByMetadataPageComponent>;
|
let fixture: ComponentFixture<BrowseByMetadataPageComponent>;
|
||||||
let browseService: BrowseService;
|
let browseService: BrowseService;
|
||||||
let route: ActivatedRoute;
|
let route: ActivatedRoute;
|
||||||
let paginationService: PaginationService;
|
let paginationService;
|
||||||
|
|
||||||
const pagination = Object.assign(new PaginationComponentOptions(), { currentPage: 1, pageSize: 20 });
|
|
||||||
const sort = new SortOptions('score', SortDirection.DESC);
|
|
||||||
|
|
||||||
const mockCommunity = Object.assign(new Community(), {
|
const mockCommunity = Object.assign(new Community(), {
|
||||||
id: 'test-uuid',
|
id: 'test-uuid',
|
||||||
@@ -88,11 +86,7 @@ describe('BrowseByMetadataPageComponent', () => {
|
|||||||
params: observableOf({})
|
params: observableOf({})
|
||||||
});
|
});
|
||||||
|
|
||||||
paginationService = jasmine.createSpyObj('PaginationService', {
|
paginationService = new PaginationServiceStub();
|
||||||
getCurrentPagination: observableOf(pagination),
|
|
||||||
getCurrentSort: observableOf(sort),
|
|
||||||
getRouteParameterValue: observableOf('')
|
|
||||||
});
|
|
||||||
|
|
||||||
beforeEach(waitForAsync(() => {
|
beforeEach(waitForAsync(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
|
@@ -16,7 +16,7 @@ import { DSpaceObject } from '../../core/shared/dspace-object.model';
|
|||||||
import { StartsWithType } from '../../shared/starts-with/starts-with-decorator';
|
import { StartsWithType } from '../../shared/starts-with/starts-with-decorator';
|
||||||
import { BrowseByType, rendersBrowseBy } from '../+browse-by-switcher/browse-by-decorator';
|
import { BrowseByType, rendersBrowseBy } from '../+browse-by-switcher/browse-by-decorator';
|
||||||
import { PaginationService } from '../../core/pagination/pagination.service';
|
import { PaginationService } from '../../core/pagination/pagination.service';
|
||||||
import { map } from 'rxjs/operators';
|
import { map, switchMap } from 'rxjs/operators';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'ds-browse-by-metadata-page',
|
selector: 'ds-browse-by-metadata-page',
|
||||||
@@ -56,9 +56,14 @@ export class BrowseByMetadataPageComponent implements OnInit {
|
|||||||
});
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The sorting config used to sort the values (defaults to Ascending)
|
* The pagination observable
|
||||||
*/
|
*/
|
||||||
sortConfig: SortOptions = new SortOptions('default', SortDirection.ASC);
|
currentPagination$: Observable<PaginationComponentOptions>;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The sorting config observable
|
||||||
|
*/
|
||||||
|
currentSort$: Observable<SortOptions>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* List of subscriptions
|
* List of subscriptions
|
||||||
@@ -107,11 +112,12 @@ export class BrowseByMetadataPageComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
this.updatePage(new BrowseEntrySearchOptions(this.defaultBrowseId, this.paginationConfig, this.sortConfig));
|
const sortConfig = new SortOptions('default', SortDirection.ASC);
|
||||||
const currentPagination$ = this.paginationService.getCurrentPagination(this.paginationConfig.id, this.paginationConfig);
|
this.updatePage(new BrowseEntrySearchOptions(this.defaultBrowseId, this.paginationConfig, sortConfig));
|
||||||
const currentSort$ = this.paginationService.getCurrentSort(this.paginationConfig.id, this.sortConfig);
|
this.currentPagination$ = this.paginationService.getCurrentPagination(this.paginationConfig.id, this.paginationConfig);
|
||||||
|
this.currentSort$ = this.paginationService.getCurrentSort(this.paginationConfig.id, sortConfig);
|
||||||
this.subs.push(
|
this.subs.push(
|
||||||
observableCombineLatest([this.route.params, this.route.queryParams, currentPagination$, currentSort$]).pipe(
|
observableCombineLatest([this.route.params, this.route.queryParams, this.currentPagination$, this.currentSort$]).pipe(
|
||||||
map(([routeParams, queryParams, currentPage, currentSort]) => {
|
map(([routeParams, queryParams, currentPage, currentSort]) => {
|
||||||
return [Object.assign({}, routeParams, queryParams),currentPage,currentSort];
|
return [Object.assign({}, routeParams, queryParams),currentPage,currentSort];
|
||||||
})
|
})
|
||||||
@@ -161,6 +167,7 @@ export class BrowseByMetadataPageComponent implements OnInit {
|
|||||||
* @param value The value of the browse-entry to display items for
|
* @param value The value of the browse-entry to display items for
|
||||||
*/
|
*/
|
||||||
updatePageWithItems(searchOptions: BrowseEntrySearchOptions, value: string) {
|
updatePageWithItems(searchOptions: BrowseEntrySearchOptions, value: string) {
|
||||||
|
console.log('updatePAge', searchOptions);
|
||||||
this.items$ = this.browseService.getBrowseItemsFor(value, searchOptions);
|
this.items$ = this.browseService.getBrowseItemsFor(value, searchOptions);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -22,6 +22,7 @@ import { PaginationComponentOptions } from '../../shared/pagination/pagination-c
|
|||||||
import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model';
|
import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model';
|
||||||
import { FindListOptions } from '../../core/data/request.models';
|
import { FindListOptions } from '../../core/data/request.models';
|
||||||
import { PaginationService } from '../../core/pagination/pagination.service';
|
import { PaginationService } from '../../core/pagination/pagination.service';
|
||||||
|
import { PaginationServiceStub } from '../../shared/testing/pagination-service.stub';
|
||||||
|
|
||||||
describe('BrowseByTitlePageComponent', () => {
|
describe('BrowseByTitlePageComponent', () => {
|
||||||
let comp: BrowseByTitlePageComponent;
|
let comp: BrowseByTitlePageComponent;
|
||||||
@@ -65,15 +66,7 @@ describe('BrowseByTitlePageComponent', () => {
|
|||||||
data: observableOf({ metadata: 'title' })
|
data: observableOf({ metadata: 'title' })
|
||||||
});
|
});
|
||||||
|
|
||||||
const pagination = Object.assign(new PaginationComponentOptions(), { currentPage: 1, pageSize: 20 });
|
const paginationService = new PaginationServiceStub();
|
||||||
const sort = new SortOptions('score', SortDirection.DESC);
|
|
||||||
const findlistOptions = Object.assign(new FindListOptions(), { currentPage: 1, elementsPerPage: 20 });
|
|
||||||
const paginationService = jasmine.createSpyObj('PaginationService', {
|
|
||||||
getCurrentPagination: observableOf(pagination),
|
|
||||||
getCurrentSort: observableOf(sort),
|
|
||||||
getFindListOptions: observableOf(findlistOptions),
|
|
||||||
resetPage: {},
|
|
||||||
});
|
|
||||||
|
|
||||||
beforeEach(waitForAsync(() => {
|
beforeEach(waitForAsync(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
|
@@ -35,12 +35,12 @@ export class BrowseByTitlePageComponent extends BrowseByMetadataPageComponent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
this.sortConfig = new SortOptions('dc.title', SortDirection.ASC);
|
const sortConfig = new SortOptions('dc.title', SortDirection.ASC);
|
||||||
this.updatePage(new BrowseEntrySearchOptions(this.defaultBrowseId, this.paginationConfig, this.sortConfig));
|
this.updatePage(new BrowseEntrySearchOptions(this.defaultBrowseId, this.paginationConfig, sortConfig));
|
||||||
const currentPagination$ = this.paginationService.getCurrentPagination(this.paginationConfig.id, this.paginationConfig);
|
this.currentPagination$ = this.paginationService.getCurrentPagination(this.paginationConfig.id, this.paginationConfig);
|
||||||
const currentSort$ = this.paginationService.getCurrentSort(this.paginationConfig.id, this.sortConfig);
|
this.currentSort$ = this.paginationService.getCurrentSort(this.paginationConfig.id, sortConfig);
|
||||||
this.subs.push(
|
this.subs.push(
|
||||||
observableCombineLatest([this.route.params, this.route.queryParams, currentPagination$, currentSort$]).pipe(
|
observableCombineLatest([this.route.params, this.route.queryParams, this.currentPagination$, this.currentSort$]).pipe(
|
||||||
map(([routeParams, queryParams, currentPage, currentSort]) => {
|
map(([routeParams, queryParams, currentPage, currentSort]) => {
|
||||||
return [Object.assign({}, routeParams, queryParams),currentPage,currentSort];
|
return [Object.assign({}, routeParams, queryParams),currentPage,currentSort];
|
||||||
})
|
})
|
||||||
|
@@ -24,6 +24,7 @@ import { of as observableOf } from 'rxjs';
|
|||||||
import { PaginationService } from '../../core/pagination/pagination.service';
|
import { PaginationService } from '../../core/pagination/pagination.service';
|
||||||
import { getMockThemeService } from '../../shared/mocks/theme-service.mock';
|
import { getMockThemeService } from '../../shared/mocks/theme-service.mock';
|
||||||
import { ThemeService } from '../../shared/theme-support/theme.service';
|
import { ThemeService } from '../../shared/theme-support/theme.service';
|
||||||
|
import { PaginationServiceStub } from '../../shared/testing/pagination-service.stub';
|
||||||
|
|
||||||
describe('CommunityPageSubCollectionList Component', () => {
|
describe('CommunityPageSubCollectionList Component', () => {
|
||||||
let comp: CommunityPageSubCollectionListComponent;
|
let comp: CommunityPageSubCollectionListComponent;
|
||||||
@@ -117,16 +118,7 @@ describe('CommunityPageSubCollectionList Component', () => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const pagination = Object.assign(new PaginationComponentOptions(), { currentPage: 1, pageSize: 20 });
|
const paginationService = new PaginationServiceStub();
|
||||||
const sort = new SortOptions('score', SortDirection.DESC);
|
|
||||||
const findlistOptions = Object.assign(new FindListOptions(), { currentPage: 1, elementsPerPage: 20 });
|
|
||||||
const paginationService = jasmine.createSpyObj('PaginationService', {
|
|
||||||
getCurrentPagination: observableOf(pagination),
|
|
||||||
getCurrentSort: observableOf(sort),
|
|
||||||
getFindListOptions: observableOf(findlistOptions),
|
|
||||||
resetPage: {},
|
|
||||||
updateRouteWithUrl: {}
|
|
||||||
});
|
|
||||||
|
|
||||||
themeService = getMockThemeService();
|
themeService = getMockThemeService();
|
||||||
|
|
||||||
|
@@ -24,6 +24,7 @@ import { of as observableOf } from 'rxjs';
|
|||||||
import { PaginationService } from '../../core/pagination/pagination.service';
|
import { PaginationService } from '../../core/pagination/pagination.service';
|
||||||
import { getMockThemeService } from '../../shared/mocks/theme-service.mock';
|
import { getMockThemeService } from '../../shared/mocks/theme-service.mock';
|
||||||
import { ThemeService } from '../../shared/theme-support/theme.service';
|
import { ThemeService } from '../../shared/theme-support/theme.service';
|
||||||
|
import { PaginationServiceStub } from '../../shared/testing/pagination-service.stub';
|
||||||
|
|
||||||
describe('CommunityPageSubCommunityListComponent Component', () => {
|
describe('CommunityPageSubCommunityListComponent Component', () => {
|
||||||
let comp: CommunityPageSubCommunityListComponent;
|
let comp: CommunityPageSubCommunityListComponent;
|
||||||
@@ -118,15 +119,7 @@ describe('CommunityPageSubCommunityListComponent Component', () => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const pagination = Object.assign(new PaginationComponentOptions(), { currentPage: 1, pageSize: 20 });
|
const paginationService = new PaginationServiceStub();
|
||||||
const sort = new SortOptions('score', SortDirection.DESC);
|
|
||||||
const findlistOptions = Object.assign(new FindListOptions(), { currentPage: 1, elementsPerPage: 20 });
|
|
||||||
const paginationService = jasmine.createSpyObj('PaginationService', {
|
|
||||||
getCurrentPagination: observableOf(pagination),
|
|
||||||
getCurrentSort: observableOf(sort),
|
|
||||||
getFindListOptions: observableOf(findlistOptions),
|
|
||||||
resetPage: {},
|
|
||||||
});
|
|
||||||
|
|
||||||
themeService = getMockThemeService();
|
themeService = getMockThemeService();
|
||||||
|
|
||||||
|
@@ -24,6 +24,7 @@ import { SortDirection, SortOptions } from '../../core/cache/models/sort-options
|
|||||||
import { PaginationService } from '../../core/pagination/pagination.service';
|
import { PaginationService } from '../../core/pagination/pagination.service';
|
||||||
import { getMockThemeService } from '../../shared/mocks/theme-service.mock';
|
import { getMockThemeService } from '../../shared/mocks/theme-service.mock';
|
||||||
import { ThemeService } from '../../shared/theme-support/theme.service';
|
import { ThemeService } from '../../shared/theme-support/theme.service';
|
||||||
|
import { PaginationServiceStub } from '../../shared/testing/pagination-service.stub';
|
||||||
|
|
||||||
describe('TopLevelCommunityList Component', () => {
|
describe('TopLevelCommunityList Component', () => {
|
||||||
let comp: TopLevelCommunityListComponent;
|
let comp: TopLevelCommunityListComponent;
|
||||||
@@ -109,14 +110,7 @@ describe('TopLevelCommunityList Component', () => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const pagination = Object.assign(new PaginationComponentOptions(), { currentPage: 1, pageSize: 20 });
|
paginationService = new PaginationServiceStub();
|
||||||
const sort = new SortOptions('score', SortDirection.DESC);
|
|
||||||
|
|
||||||
paginationService = jasmine.createSpyObj('PaginationService', {
|
|
||||||
getCurrentPagination: observableOf(pagination),
|
|
||||||
getCurrentSort: observableOf(sort),
|
|
||||||
getRouteParameterValue: observableOf('')
|
|
||||||
});
|
|
||||||
|
|
||||||
themeService = getMockThemeService();
|
themeService = getMockThemeService();
|
||||||
|
|
||||||
|
@@ -20,6 +20,7 @@ import { PaginationService } from '../../../../../core/pagination/pagination.ser
|
|||||||
import { PaginationComponentOptions } from '../../../../../shared/pagination/pagination-component-options.model';
|
import { PaginationComponentOptions } from '../../../../../shared/pagination/pagination-component-options.model';
|
||||||
import { SortDirection, SortOptions } from '../../../../../core/cache/models/sort-options.model';
|
import { SortDirection, SortOptions } from '../../../../../core/cache/models/sort-options.model';
|
||||||
import { FindListOptions } from '../../../../../core/data/request.models';
|
import { FindListOptions } from '../../../../../core/data/request.models';
|
||||||
|
import { PaginationServiceStub } from '../../../../../shared/testing/pagination-service.stub';
|
||||||
|
|
||||||
describe('PaginatedDragAndDropBitstreamListComponent', () => {
|
describe('PaginatedDragAndDropBitstreamListComponent', () => {
|
||||||
let comp: PaginatedDragAndDropBitstreamListComponent;
|
let comp: PaginatedDragAndDropBitstreamListComponent;
|
||||||
@@ -28,7 +29,7 @@ describe('PaginatedDragAndDropBitstreamListComponent', () => {
|
|||||||
let bundleService: BundleDataService;
|
let bundleService: BundleDataService;
|
||||||
let objectValuesPipe: ObjectValuesPipe;
|
let objectValuesPipe: ObjectValuesPipe;
|
||||||
let requestService: RequestService;
|
let requestService: RequestService;
|
||||||
let paginationService: PaginationService;
|
let paginationService;
|
||||||
|
|
||||||
const columnSizes = new ResponsiveTableSizes([
|
const columnSizes = new ResponsiveTableSizes([
|
||||||
new ResponsiveColumnSizes(2, 2, 3, 4, 4),
|
new ResponsiveColumnSizes(2, 2, 3, 4, 4),
|
||||||
@@ -114,15 +115,7 @@ describe('PaginatedDragAndDropBitstreamListComponent', () => {
|
|||||||
hasByHref$: observableOf(true)
|
hasByHref$: observableOf(true)
|
||||||
});
|
});
|
||||||
|
|
||||||
const pagination = Object.assign(new PaginationComponentOptions(), { currentPage: 1, pageSize: 20 });
|
paginationService = new PaginationServiceStub();
|
||||||
const sort = new SortOptions('score', SortDirection.DESC);
|
|
||||||
const findlistOptions = Object.assign(new FindListOptions(), { currentPage: 1, elementsPerPage: 20 });
|
|
||||||
paginationService = jasmine.createSpyObj('PaginationService', {
|
|
||||||
getCurrentPagination: observableOf(pagination),
|
|
||||||
getCurrentSort: observableOf(sort),
|
|
||||||
getFindListOptions: observableOf(findlistOptions),
|
|
||||||
resetPage: {},
|
|
||||||
});
|
|
||||||
|
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
imports: [TranslateModule.forRoot()],
|
imports: [TranslateModule.forRoot()],
|
||||||
|
@@ -20,6 +20,7 @@ import { PaginationComponentOptions } from '../../../../shared/pagination/pagina
|
|||||||
import { SortDirection, SortOptions } from '../../../../core/cache/models/sort-options.model';
|
import { SortDirection, SortOptions } from '../../../../core/cache/models/sort-options.model';
|
||||||
import { FindListOptions } from '../../../../core/data/request.models';
|
import { FindListOptions } from '../../../../core/data/request.models';
|
||||||
import { PaginationService } from '../../../../core/pagination/pagination.service';
|
import { PaginationService } from '../../../../core/pagination/pagination.service';
|
||||||
|
import { PaginationServiceStub } from '../../../../shared/testing/pagination-service.stub';
|
||||||
|
|
||||||
describe('FullFileSectionComponent', () => {
|
describe('FullFileSectionComponent', () => {
|
||||||
let comp: FullFileSectionComponent;
|
let comp: FullFileSectionComponent;
|
||||||
@@ -56,15 +57,7 @@ describe('FullFileSectionComponent', () => {
|
|||||||
findAllByItemAndBundleName: createSuccessfulRemoteDataObject$(createPaginatedList([mockBitstream, mockBitstream, mockBitstream]))
|
findAllByItemAndBundleName: createSuccessfulRemoteDataObject$(createPaginatedList([mockBitstream, mockBitstream, mockBitstream]))
|
||||||
});
|
});
|
||||||
|
|
||||||
const pagination = Object.assign(new PaginationComponentOptions(), { currentPage: 1, pageSize: 20 });
|
const paginationService = new PaginationServiceStub();
|
||||||
const sort = new SortOptions('score', SortDirection.DESC);
|
|
||||||
const findlistOptions = Object.assign(new FindListOptions(), { currentPage: 1, elementsPerPage: 20 });
|
|
||||||
const paginationService = jasmine.createSpyObj('PaginationService', {
|
|
||||||
getCurrentPagination: observableOf(pagination),
|
|
||||||
getCurrentSort: observableOf(sort),
|
|
||||||
getFindListOptions: observableOf(findlistOptions),
|
|
||||||
resetPage: {},
|
|
||||||
});
|
|
||||||
|
|
||||||
beforeEach(waitForAsync(() => {
|
beforeEach(waitForAsync(() => {
|
||||||
|
|
||||||
|
@@ -9,6 +9,8 @@ import { ActivatedRouteStub } from '../shared/testing/active-router.stub';
|
|||||||
import { RoleServiceMock } from '../shared/mocks/role-service.mock';
|
import { RoleServiceMock } from '../shared/mocks/role-service.mock';
|
||||||
import { cold, hot } from 'jasmine-marbles';
|
import { cold, hot } from 'jasmine-marbles';
|
||||||
import { MyDSpaceConfigurationValueType } from './my-dspace-configuration-value-type';
|
import { MyDSpaceConfigurationValueType } from './my-dspace-configuration-value-type';
|
||||||
|
import { PaginationServiceStub } from '../shared/testing/pagination-service.stub';
|
||||||
|
import { PaginationService } from '../core/pagination/pagination.service';
|
||||||
|
|
||||||
describe('MyDSpaceConfigurationService', () => {
|
describe('MyDSpaceConfigurationService', () => {
|
||||||
let service: MyDSpaceConfigurationService;
|
let service: MyDSpaceConfigurationService;
|
||||||
@@ -34,18 +36,13 @@ describe('MyDSpaceConfigurationService', () => {
|
|||||||
getRouteDataValue: observableOf({})
|
getRouteDataValue: observableOf({})
|
||||||
});
|
});
|
||||||
|
|
||||||
const paginationService = jasmine.createSpyObj('PaginationService', {
|
const paginationService = new PaginationServiceStub();
|
||||||
getCurrentPagination: observableOf(defaults.pagination),
|
|
||||||
getCurrentSort: observableOf(defaults.sort),
|
|
||||||
getRouteParameterValue: observableOf('')
|
|
||||||
});
|
|
||||||
|
|
||||||
const activatedRoute: any = new ActivatedRouteStub();
|
const activatedRoute: any = new ActivatedRouteStub();
|
||||||
|
|
||||||
const roleService: any = new RoleServiceMock();
|
const roleService: any = new RoleServiceMock();
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
service = new MyDSpaceConfigurationService(roleService, spy, paginationService, activatedRoute);
|
service = new MyDSpaceConfigurationService(roleService, spy, paginationService as any, activatedRoute);
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('when the scope is called', () => {
|
describe('when the scope is called', () => {
|
||||||
|
@@ -16,6 +16,12 @@ import { isNumeric } from 'rxjs/internal-compatibility';
|
|||||||
})
|
})
|
||||||
/**
|
/**
|
||||||
* Service to manage the pagination of different components
|
* Service to manage the pagination of different components
|
||||||
|
* The pagination information will be stored in the route based on a paginationID.
|
||||||
|
* The following params are used for the different kind of pagination information:
|
||||||
|
* - For the page: p.{paginationID}
|
||||||
|
* - For the page size: rpp.{paginationID}
|
||||||
|
* - For the sort direction: sd.{paginationID}
|
||||||
|
* - For the sort field: sf.{paginationID}
|
||||||
*/
|
*/
|
||||||
export class PaginationService {
|
export class PaginationService {
|
||||||
|
|
||||||
|
@@ -5,6 +5,7 @@ import { SortDirection, SortOptions } from '../../cache/models/sort-options.mode
|
|||||||
import { PaginatedSearchOptions } from '../../../shared/search/paginated-search-options.model';
|
import { PaginatedSearchOptions } from '../../../shared/search/paginated-search-options.model';
|
||||||
import { SearchFilter } from '../../../shared/search/search-filter.model';
|
import { SearchFilter } from '../../../shared/search/search-filter.model';
|
||||||
import { of as observableOf } from 'rxjs';
|
import { of as observableOf } from 'rxjs';
|
||||||
|
import { PaginationServiceStub } from '../../../shared/testing/pagination-service.stub';
|
||||||
|
|
||||||
describe('SearchConfigurationService', () => {
|
describe('SearchConfigurationService', () => {
|
||||||
let service: SearchConfigurationService;
|
let service: SearchConfigurationService;
|
||||||
@@ -30,17 +31,13 @@ describe('SearchConfigurationService', () => {
|
|||||||
getRouteParameterValue: observableOf('')
|
getRouteParameterValue: observableOf('')
|
||||||
});
|
});
|
||||||
|
|
||||||
const paginationService = jasmine.createSpyObj('PaginationService', {
|
const paginationService = new PaginationServiceStub();
|
||||||
getCurrentPagination: observableOf(defaults.pagination),
|
|
||||||
getCurrentSort: observableOf(defaults.sort),
|
|
||||||
getRouteParameterValue: observableOf('')
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
const activatedRoute: any = new ActivatedRouteStub();
|
const activatedRoute: any = new ActivatedRouteStub();
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
service = new SearchConfigurationService(routeService, paginationService, activatedRoute);
|
service = new SearchConfigurationService(routeService, paginationService as any, activatedRoute);
|
||||||
});
|
});
|
||||||
describe('when the scope is called', () => {
|
describe('when the scope is called', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
|
@@ -27,6 +27,7 @@ import { PaginationComponentOptions } from '../../../shared/pagination/paginatio
|
|||||||
import { SortDirection, SortOptions } from '../../cache/models/sort-options.model';
|
import { SortDirection, SortOptions } from '../../cache/models/sort-options.model';
|
||||||
import { FindListOptions } from '../../data/request.models';
|
import { FindListOptions } from '../../data/request.models';
|
||||||
import { SearchConfigurationService } from './search-configuration.service';
|
import { SearchConfigurationService } from './search-configuration.service';
|
||||||
|
import { PaginationServiceStub } from '../../../shared/testing/pagination-service.stub';
|
||||||
|
|
||||||
@Component({ template: '' })
|
@Component({ template: '' })
|
||||||
class DummyComponent {
|
class DummyComponent {
|
||||||
@@ -102,16 +103,7 @@ describe('SearchService', () => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const pagination = Object.assign(new PaginationComponentOptions(), { currentPage: 1, pageSize: 20 });
|
const paginationService = new PaginationServiceStub();
|
||||||
const sort = new SortOptions('score', SortDirection.DESC);
|
|
||||||
const findlistOptions = Object.assign(new FindListOptions(), { currentPage: 1, elementsPerPage: 20 });
|
|
||||||
const paginationService = jasmine.createSpyObj('PaginationService', {
|
|
||||||
getCurrentPagination: observableOf(pagination),
|
|
||||||
getCurrentSort: observableOf(sort),
|
|
||||||
getFindListOptions: observableOf(findlistOptions),
|
|
||||||
resetPage: {},
|
|
||||||
updateRouteWithUrl: {}
|
|
||||||
});
|
|
||||||
const searchConfigService = {paginationID: 'page-id'};
|
const searchConfigService = {paginationID: 'page-id'};
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
|
@@ -17,6 +17,7 @@ import { PaginationService } from '../../core/pagination/pagination.service';
|
|||||||
import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model';
|
import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model';
|
||||||
import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model';
|
import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model';
|
||||||
import { FindListOptions } from '../../core/data/request.models';
|
import { FindListOptions } from '../../core/data/request.models';
|
||||||
|
import { PaginationServiceStub } from '../../shared/testing/pagination-service.stub';
|
||||||
|
|
||||||
describe('ProcessOverviewComponent', () => {
|
describe('ProcessOverviewComponent', () => {
|
||||||
let component: ProcessOverviewComponent;
|
let component: ProcessOverviewComponent;
|
||||||
@@ -24,15 +25,11 @@ describe('ProcessOverviewComponent', () => {
|
|||||||
|
|
||||||
let processService: ProcessDataService;
|
let processService: ProcessDataService;
|
||||||
let ePersonService: EPersonDataService;
|
let ePersonService: EPersonDataService;
|
||||||
let paginationService: PaginationService;
|
let paginationService;
|
||||||
|
|
||||||
let processes: Process[];
|
let processes: Process[];
|
||||||
let ePerson: EPerson;
|
let ePerson: EPerson;
|
||||||
|
|
||||||
const pagination = Object.assign(new PaginationComponentOptions(), { currentPage: 1, pageSize: 20 });
|
|
||||||
const sort = new SortOptions('score', SortDirection.DESC);
|
|
||||||
const findlistOptions = Object.assign(new FindListOptions(), { currentPage: 1, elementsPerPage: 20 });
|
|
||||||
|
|
||||||
function init() {
|
function init() {
|
||||||
processes = [
|
processes = [
|
||||||
Object.assign(new Process(), {
|
Object.assign(new Process(), {
|
||||||
@@ -80,11 +77,7 @@ describe('ProcessOverviewComponent', () => {
|
|||||||
findById: createSuccessfulRemoteDataObject$(ePerson)
|
findById: createSuccessfulRemoteDataObject$(ePerson)
|
||||||
});
|
});
|
||||||
|
|
||||||
paginationService = jasmine.createSpyObj('PaginationService', {
|
paginationService = new PaginationServiceStub();
|
||||||
getCurrentPagination: observableOf(pagination),
|
|
||||||
getCurrentSort: observableOf(sort),
|
|
||||||
getFindListOptions: observableOf(findlistOptions),
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
beforeEach(waitForAsync(() => {
|
beforeEach(waitForAsync(() => {
|
||||||
|
@@ -13,6 +13,7 @@ import { SortDirection, SortOptions } from '../core/cache/models/sort-options.mo
|
|||||||
import { of as observableOf } from 'rxjs';
|
import { of as observableOf } from 'rxjs';
|
||||||
import { PaginationService } from '../core/pagination/pagination.service';
|
import { PaginationService } from '../core/pagination/pagination.service';
|
||||||
import { SearchConfigurationService } from '../core/shared/search/search-configuration.service';
|
import { SearchConfigurationService } from '../core/shared/search/search-configuration.service';
|
||||||
|
import { PaginationServiceStub } from '../shared/testing/pagination-service.stub';
|
||||||
|
|
||||||
describe('SearchNavbarComponent', () => {
|
describe('SearchNavbarComponent', () => {
|
||||||
let component: SearchNavbarComponent;
|
let component: SearchNavbarComponent;
|
||||||
@@ -33,16 +34,7 @@ describe('SearchNavbarComponent', () => {
|
|||||||
navigate: (commands) => commands
|
navigate: (commands) => commands
|
||||||
};
|
};
|
||||||
|
|
||||||
const pagination = Object.assign(new PaginationComponentOptions(), { currentPage: 1, pageSize: 20 });
|
paginationService = new PaginationServiceStub();
|
||||||
const sort = new SortOptions('score', SortDirection.DESC);
|
|
||||||
|
|
||||||
paginationService = jasmine.createSpyObj('PaginationService', {
|
|
||||||
getCurrentPagination: observableOf(pagination),
|
|
||||||
getCurrentSort: observableOf(sort),
|
|
||||||
getRouteParameterValue: observableOf(''),
|
|
||||||
updateRouteWithUrl: {},
|
|
||||||
clearPagination : {}
|
|
||||||
});
|
|
||||||
|
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
imports: [
|
imports: [
|
||||||
|
@@ -20,6 +20,7 @@ import { createSuccessfulRemoteDataObject$ } from '../remote-data.utils';
|
|||||||
import { storeModuleConfig } from '../../app.reducer';
|
import { storeModuleConfig } from '../../app.reducer';
|
||||||
import { FindListOptions } from '../../core/data/request.models';
|
import { FindListOptions } from '../../core/data/request.models';
|
||||||
import { PaginationService } from '../../core/pagination/pagination.service';
|
import { PaginationService } from '../../core/pagination/pagination.service';
|
||||||
|
import { PaginationServiceStub } from '../testing/pagination-service.stub';
|
||||||
|
|
||||||
describe('BrowseByComponent', () => {
|
describe('BrowseByComponent', () => {
|
||||||
let comp: BrowseByComponent;
|
let comp: BrowseByComponent;
|
||||||
@@ -53,15 +54,7 @@ describe('BrowseByComponent', () => {
|
|||||||
pageSizeOptions: [5, 10, 15, 20],
|
pageSizeOptions: [5, 10, 15, 20],
|
||||||
pageSize: 15
|
pageSize: 15
|
||||||
});
|
});
|
||||||
const sort = new SortOptions('score', SortDirection.DESC);
|
const paginationService = new PaginationServiceStub(paginationConfig);
|
||||||
const findlistOptions = Object.assign(new FindListOptions(), { currentPage: 1, elementsPerPage: 20 });
|
|
||||||
const paginationService = jasmine.createSpyObj('PaginationService', {
|
|
||||||
getCurrentPagination: observableOf(paginationConfig),
|
|
||||||
getCurrentSort: observableOf(sort),
|
|
||||||
getFindListOptions: observableOf(findlistOptions),
|
|
||||||
updateRoute: {},
|
|
||||||
resetPage: {},
|
|
||||||
});
|
|
||||||
|
|
||||||
beforeEach(waitForAsync(() => {
|
beforeEach(waitForAsync(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
|
@@ -15,14 +15,12 @@ import { PaginationComponentOptions } from '../../pagination/pagination-componen
|
|||||||
import { SortDirection, SortOptions } from '../../../core/cache/models/sort-options.model';
|
import { SortDirection, SortOptions } from '../../../core/cache/models/sort-options.model';
|
||||||
import { of as observableOf } from 'rxjs';
|
import { of as observableOf } from 'rxjs';
|
||||||
import { PaginationService } from '../../../core/pagination/pagination.service';
|
import { PaginationService } from '../../../core/pagination/pagination.service';
|
||||||
|
import { PaginationServiceStub } from '../../testing/pagination-service.stub';
|
||||||
|
|
||||||
describe('ItemVersionsComponent', () => {
|
describe('ItemVersionsComponent', () => {
|
||||||
let component: ItemVersionsComponent;
|
let component: ItemVersionsComponent;
|
||||||
let fixture: ComponentFixture<ItemVersionsComponent>;
|
let fixture: ComponentFixture<ItemVersionsComponent>;
|
||||||
|
|
||||||
const pagination = Object.assign(new PaginationComponentOptions(), { currentPage: 1, pageSize: 20 });
|
|
||||||
const sort = new SortOptions('score', SortDirection.DESC);
|
|
||||||
|
|
||||||
const versionHistory = Object.assign(new VersionHistory(), {
|
const versionHistory = Object.assign(new VersionHistory(), {
|
||||||
id: '1'
|
id: '1'
|
||||||
});
|
});
|
||||||
@@ -59,11 +57,7 @@ describe('ItemVersionsComponent', () => {
|
|||||||
getVersions: createSuccessfulRemoteDataObject$(createPaginatedList(versions))
|
getVersions: createSuccessfulRemoteDataObject$(createPaginatedList(versions))
|
||||||
});
|
});
|
||||||
|
|
||||||
const paginationService = jasmine.createSpyObj('PaginationService', {
|
const paginationService = new PaginationServiceStub();
|
||||||
getCurrentPagination: observableOf(pagination),
|
|
||||||
getCurrentSort: observableOf(sort),
|
|
||||||
getRouteParameterValue: observableOf('')
|
|
||||||
});
|
|
||||||
|
|
||||||
beforeEach(waitForAsync(() => {
|
beforeEach(waitForAsync(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
|
@@ -17,6 +17,7 @@ import { SortDirection, SortOptions } from '../../../core/cache/models/sort-opti
|
|||||||
import { FindListOptions } from '../../../core/data/request.models';
|
import { FindListOptions } from '../../../core/data/request.models';
|
||||||
import { of as observableOf } from 'rxjs';
|
import { of as observableOf } from 'rxjs';
|
||||||
import { PaginationService } from '../../../core/pagination/pagination.service';
|
import { PaginationService } from '../../../core/pagination/pagination.service';
|
||||||
|
import { PaginationServiceStub } from '../../testing/pagination-service.stub';
|
||||||
|
|
||||||
describe('CollectionSelectComponent', () => {
|
describe('CollectionSelectComponent', () => {
|
||||||
let comp: CollectionSelectComponent;
|
let comp: CollectionSelectComponent;
|
||||||
@@ -40,16 +41,7 @@ describe('CollectionSelectComponent', () => {
|
|||||||
currentPage: 1
|
currentPage: 1
|
||||||
});
|
});
|
||||||
|
|
||||||
const pagination = Object.assign(new PaginationComponentOptions(), { currentPage: 1, pageSize: 20 });
|
const paginationService = new PaginationServiceStub();
|
||||||
const sort = new SortOptions('score', SortDirection.DESC);
|
|
||||||
const findlistOptions = Object.assign(new FindListOptions(), { currentPage: 1, elementsPerPage: 20 });
|
|
||||||
const paginationService = jasmine.createSpyObj('PaginationService', {
|
|
||||||
getCurrentPagination: observableOf(pagination),
|
|
||||||
getCurrentSort: observableOf(sort),
|
|
||||||
getFindListOptions: observableOf(findlistOptions),
|
|
||||||
resetPage: {},
|
|
||||||
});
|
|
||||||
|
|
||||||
beforeEach(waitForAsync(() => {
|
beforeEach(waitForAsync(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
imports: [TranslateModule.forRoot(), SharedModule, RouterTestingModule.withRoutes([])],
|
imports: [TranslateModule.forRoot(), SharedModule, RouterTestingModule.withRoutes([])],
|
||||||
|
@@ -17,12 +17,13 @@ import { createPaginatedList } from '../../testing/utils.test';
|
|||||||
import { PaginationService } from '../../../core/pagination/pagination.service';
|
import { PaginationService } from '../../../core/pagination/pagination.service';
|
||||||
import { SortDirection, SortOptions } from '../../../core/cache/models/sort-options.model';
|
import { SortDirection, SortOptions } from '../../../core/cache/models/sort-options.model';
|
||||||
import { FindListOptions } from '../../../core/data/request.models';
|
import { FindListOptions } from '../../../core/data/request.models';
|
||||||
|
import { PaginationServiceStub } from '../../testing/pagination-service.stub';
|
||||||
|
|
||||||
describe('ItemSelectComponent', () => {
|
describe('ItemSelectComponent', () => {
|
||||||
let comp: ItemSelectComponent;
|
let comp: ItemSelectComponent;
|
||||||
let fixture: ComponentFixture<ItemSelectComponent>;
|
let fixture: ComponentFixture<ItemSelectComponent>;
|
||||||
let objectSelectService: ObjectSelectService;
|
let objectSelectService: ObjectSelectService;
|
||||||
let paginationService: PaginationService;
|
let paginationService;
|
||||||
|
|
||||||
const mockItemList = [
|
const mockItemList = [
|
||||||
Object.assign(new Item(), {
|
Object.assign(new Item(), {
|
||||||
@@ -63,14 +64,7 @@ describe('ItemSelectComponent', () => {
|
|||||||
currentPage: 1
|
currentPage: 1
|
||||||
});
|
});
|
||||||
|
|
||||||
const sort = new SortOptions('score', SortDirection.DESC);
|
paginationService = new PaginationServiceStub(mockPaginationOptions);
|
||||||
const findlistOptions = Object.assign(new FindListOptions(), { currentPage: 1, elementsPerPage: 20 });
|
|
||||||
paginationService = jasmine.createSpyObj('PaginationService', {
|
|
||||||
getCurrentPagination: observableOf(mockPaginationOptions),
|
|
||||||
getCurrentSort: observableOf(sort),
|
|
||||||
getFindListOptions: observableOf(findlistOptions),
|
|
||||||
resetPage: {},
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -13,6 +13,7 @@ import { EnumKeysPipe } from '../utils/enum-keys-pipe';
|
|||||||
import { VarDirective } from '../utils/var.directive';
|
import { VarDirective } from '../utils/var.directive';
|
||||||
import { SEARCH_CONFIG_SERVICE } from '../../+my-dspace-page/my-dspace-page.component';
|
import { SEARCH_CONFIG_SERVICE } from '../../+my-dspace-page/my-dspace-page.component';
|
||||||
import { PaginationService } from '../../core/pagination/pagination.service';
|
import { PaginationService } from '../../core/pagination/pagination.service';
|
||||||
|
import { PaginationServiceStub } from '../testing/pagination-service.stub';
|
||||||
|
|
||||||
describe('PageSizeSelectorComponent', () => {
|
describe('PageSizeSelectorComponent', () => {
|
||||||
|
|
||||||
@@ -34,11 +35,7 @@ describe('PageSizeSelectorComponent', () => {
|
|||||||
sort
|
sort
|
||||||
};
|
};
|
||||||
|
|
||||||
const paginationService = jasmine.createSpyObj('PaginationService', {
|
const paginationService = new PaginationServiceStub(pagination, sort);
|
||||||
getCurrentPagination: observableOf(pagination),
|
|
||||||
getCurrentSort: observableOf(sort),
|
|
||||||
getRouteParameterValue: observableOf('')
|
|
||||||
});
|
|
||||||
|
|
||||||
const activatedRouteStub = {
|
const activatedRouteStub = {
|
||||||
queryParams: observableOf({
|
queryParams: observableOf({
|
||||||
|
@@ -14,6 +14,7 @@ import { ObjectValuesPipe } from '../utils/object-values-pipe';
|
|||||||
import { PaginationService } from '../../core/pagination/pagination.service';
|
import { PaginationService } from '../../core/pagination/pagination.service';
|
||||||
import { PaginationComponentOptions } from '../pagination/pagination-component-options.model';
|
import { PaginationComponentOptions } from '../pagination/pagination-component-options.model';
|
||||||
import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model';
|
import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model';
|
||||||
|
import { PaginationServiceStub } from '../testing/pagination-service.stub';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'ds-mock-paginated-drag-drop-abstract',
|
selector: 'ds-mock-paginated-drag-drop-abstract',
|
||||||
@@ -47,8 +48,6 @@ describe('AbstractPaginatedDragAndDropListComponent', () => {
|
|||||||
|
|
||||||
const url = 'mock-abstract-paginated-drag-and-drop-list-component';
|
const url = 'mock-abstract-paginated-drag-and-drop-list-component';
|
||||||
|
|
||||||
const pagination = Object.assign(new PaginationComponentOptions(), { currentPage: 1, pageSize: 20 });
|
|
||||||
const sort = new SortOptions('score', SortDirection.DESC);
|
|
||||||
|
|
||||||
const object1 = Object.assign(new DSpaceObject(), { uuid: 'object-1' });
|
const object1 = Object.assign(new DSpaceObject(), { uuid: 'object-1' });
|
||||||
const object2 = Object.assign(new DSpaceObject(), { uuid: 'object-2' });
|
const object2 = Object.assign(new DSpaceObject(), { uuid: 'object-2' });
|
||||||
@@ -77,11 +76,7 @@ describe('AbstractPaginatedDragAndDropListComponent', () => {
|
|||||||
paginationComponent = jasmine.createSpyObj('paginationComponent', {
|
paginationComponent = jasmine.createSpyObj('paginationComponent', {
|
||||||
doPageChange: {}
|
doPageChange: {}
|
||||||
});
|
});
|
||||||
paginationService = jasmine.createSpyObj('PaginationService', {
|
paginationService = new PaginationServiceStub();
|
||||||
getCurrentPagination: observableOf(pagination),
|
|
||||||
getCurrentSort: observableOf(sort),
|
|
||||||
getRouteParameterValue: observableOf('')
|
|
||||||
});
|
|
||||||
objectsRD$ = new BehaviorSubject(objectsRD);
|
objectsRD$ = new BehaviorSubject(objectsRD);
|
||||||
component = new MockAbstractPaginatedDragAndDropListComponent(objectUpdatesService, elRef, objectValuesPipe, url, paginationService, objectsRD$);
|
component = new MockAbstractPaginatedDragAndDropListComponent(objectUpdatesService, elRef, objectValuesPipe, url, paginationService, objectsRD$);
|
||||||
component.paginationComponent = paginationComponent;
|
component.paginationComponent = paginationComponent;
|
||||||
|
@@ -34,6 +34,7 @@ import { storeModuleConfig } from '../../app.reducer';
|
|||||||
import { PaginationService } from '../../core/pagination/pagination.service';
|
import { PaginationService } from '../../core/pagination/pagination.service';
|
||||||
import { FindListOptions } from '../../core/data/request.models';
|
import { FindListOptions } from '../../core/data/request.models';
|
||||||
import { BehaviorSubject, of as observableOf } from 'rxjs';
|
import { BehaviorSubject, of as observableOf } from 'rxjs';
|
||||||
|
import { PaginationServiceStub } from '../testing/pagination-service.stub';
|
||||||
|
|
||||||
function expectPages(fixture: ComponentFixture<any>, pagesDef: string[]): void {
|
function expectPages(fixture: ComponentFixture<any>, pagesDef: string[]): void {
|
||||||
const de = fixture.debugElement.query(By.css('.pagination'));
|
const de = fixture.debugElement.query(By.css('.pagination'));
|
||||||
@@ -108,7 +109,7 @@ describe('Pagination component', () => {
|
|||||||
let activatedRouteStub: MockActivatedRoute;
|
let activatedRouteStub: MockActivatedRoute;
|
||||||
let routerStub: RouterMock;
|
let routerStub: RouterMock;
|
||||||
|
|
||||||
let paginationService: PaginationService;
|
let paginationService;
|
||||||
|
|
||||||
// Define initial state and test state
|
// Define initial state and test state
|
||||||
const _initialState = { width: 1600, height: 770 };
|
const _initialState = { width: 1600, height: 770 };
|
||||||
|
@@ -99,9 +99,8 @@ export class PaginationComponent implements OnDestroy, OnInit {
|
|||||||
@Input() public hidePagerWhenSinglePage = true;
|
@Input() public hidePagerWhenSinglePage = true;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Option for disabling updating and reading route parameters on pagination changes
|
* Option for retaining the scroll position upon navigating to an url with updated params.
|
||||||
* In other words, changing pagination won't add or update the url parameters on the current page, and the url
|
* After the page update the page will scroll back to the current pagination component.
|
||||||
* parameters won't affect the pagination of this component
|
|
||||||
*/
|
*/
|
||||||
@Input() public retainScrollPosition = false;
|
@Input() public retainScrollPosition = false;
|
||||||
|
|
||||||
@@ -121,8 +120,8 @@ export class PaginationComponent implements OnDestroy, OnInit {
|
|||||||
public hostWindow: Observable<HostWindowState>;
|
public hostWindow: Observable<HostWindowState>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ID for the pagination instance. Only useful if you wish to
|
* ID for the pagination instance. This ID is used in the routing to retrieve the pagination options.
|
||||||
* have more than once instance at a time in a given component.
|
* This ID needs to be unique between different pagination components when more than one will be displayed on the same page.
|
||||||
*/
|
*/
|
||||||
public id: string;
|
public id: string;
|
||||||
|
|
||||||
@@ -156,7 +155,7 @@ export class PaginationComponent implements OnDestroy, OnInit {
|
|||||||
* Name of the field that's used to sort by
|
* Name of the field that's used to sort by
|
||||||
*/
|
*/
|
||||||
public sortField$;
|
public sortField$;
|
||||||
public defaultSortField = 'id';
|
public defaultSortField = 'name';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Array to track all subscriptions and unsubscribe them onDestroy
|
* Array to track all subscriptions and unsubscribe them onDestroy
|
||||||
|
@@ -22,6 +22,7 @@ import { NoopAnimationsModule } from '@angular/platform-browser/animations';
|
|||||||
import { SortDirection, SortOptions } from '../../../../core/cache/models/sort-options.model';
|
import { SortDirection, SortOptions } from '../../../../core/cache/models/sort-options.model';
|
||||||
import { FindListOptions } from '../../../../core/data/request.models';
|
import { FindListOptions } from '../../../../core/data/request.models';
|
||||||
import { PaginationService } from '../../../../core/pagination/pagination.service';
|
import { PaginationService } from '../../../../core/pagination/pagination.service';
|
||||||
|
import { PaginationServiceStub } from '../../../testing/pagination-service.stub';
|
||||||
|
|
||||||
describe('EpersonGroupListComponent test suite', () => {
|
describe('EpersonGroupListComponent test suite', () => {
|
||||||
let comp: EpersonGroupListComponent;
|
let comp: EpersonGroupListComponent;
|
||||||
@@ -64,15 +65,7 @@ describe('EpersonGroupListComponent test suite', () => {
|
|||||||
const groupPaginatedList = buildPaginatedList(new PageInfo(), [GroupMock, GroupMock]);
|
const groupPaginatedList = buildPaginatedList(new PageInfo(), [GroupMock, GroupMock]);
|
||||||
const groupPaginatedListRD = createSuccessfulRemoteDataObject(groupPaginatedList);
|
const groupPaginatedListRD = createSuccessfulRemoteDataObject(groupPaginatedList);
|
||||||
|
|
||||||
const sort = new SortOptions('score', SortDirection.DESC);
|
paginationService = new PaginationServiceStub();
|
||||||
const findlistOptions = Object.assign(new FindListOptions(), { currentPage: 1, elementsPerPage: 20 });
|
|
||||||
paginationService = jasmine.createSpyObj('PaginationService', {
|
|
||||||
getCurrentPagination: observableOf(paginationOptions),
|
|
||||||
getCurrentSort: observableOf(sort),
|
|
||||||
getFindListOptions: observableOf(findlistOptions),
|
|
||||||
resetPage: {},
|
|
||||||
clearPagination: {}
|
|
||||||
});
|
|
||||||
|
|
||||||
beforeEach(waitForAsync(() => {
|
beforeEach(waitForAsync(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
|
@@ -14,6 +14,7 @@ import { FindListOptions } from '../../core/data/request.models';
|
|||||||
import { of as observableOf } from 'rxjs';
|
import { of as observableOf } from 'rxjs';
|
||||||
import { PaginationService } from '../../core/pagination/pagination.service';
|
import { PaginationService } from '../../core/pagination/pagination.service';
|
||||||
import { SearchConfigurationService } from '../../core/shared/search/search-configuration.service';
|
import { SearchConfigurationService } from '../../core/shared/search/search-configuration.service';
|
||||||
|
import { PaginationServiceStub } from '../testing/pagination-service.stub';
|
||||||
|
|
||||||
describe('SearchFormComponent', () => {
|
describe('SearchFormComponent', () => {
|
||||||
let comp: SearchFormComponent;
|
let comp: SearchFormComponent;
|
||||||
@@ -21,16 +22,7 @@ describe('SearchFormComponent', () => {
|
|||||||
let de: DebugElement;
|
let de: DebugElement;
|
||||||
let el: HTMLElement;
|
let el: HTMLElement;
|
||||||
|
|
||||||
const pagination = Object.assign(new PaginationComponentOptions(), { currentPage: 1, pageSize: 20 });
|
const paginationService = new PaginationServiceStub();
|
||||||
const sort = new SortOptions('score', SortDirection.DESC);
|
|
||||||
const findlistOptions = Object.assign(new FindListOptions(), { currentPage: 1, elementsPerPage: 20 });
|
|
||||||
const paginationService = jasmine.createSpyObj('PaginationService', {
|
|
||||||
getCurrentPagination: observableOf(pagination),
|
|
||||||
getCurrentSort: observableOf(sort),
|
|
||||||
getFindListOptions: observableOf(findlistOptions),
|
|
||||||
resetPage: {},
|
|
||||||
updateRouteWithUrl: {}
|
|
||||||
});
|
|
||||||
|
|
||||||
const searchConfigService = {paginationID: 'test-id'};
|
const searchConfigService = {paginationID: 'test-id'};
|
||||||
|
|
||||||
|
@@ -19,6 +19,7 @@ import { PaginationComponentOptions } from '../../../../../pagination/pagination
|
|||||||
import { SortDirection, SortOptions } from '../../../../../../core/cache/models/sort-options.model';
|
import { SortDirection, SortOptions } from '../../../../../../core/cache/models/sort-options.model';
|
||||||
import { FindListOptions } from '../../../../../../core/data/request.models';
|
import { FindListOptions } from '../../../../../../core/data/request.models';
|
||||||
import { PaginationService } from '../../../../../../core/pagination/pagination.service';
|
import { PaginationService } from '../../../../../../core/pagination/pagination.service';
|
||||||
|
import { PaginationServiceStub } from '../../../../../testing/pagination-service.stub';
|
||||||
|
|
||||||
describe('SearchFacetOptionComponent', () => {
|
describe('SearchFacetOptionComponent', () => {
|
||||||
let comp: SearchFacetOptionComponent;
|
let comp: SearchFacetOptionComponent;
|
||||||
@@ -85,17 +86,8 @@ describe('SearchFacetOptionComponent', () => {
|
|||||||
let router;
|
let router;
|
||||||
const page = observableOf(0);
|
const page = observableOf(0);
|
||||||
|
|
||||||
const pagination = Object.assign(new PaginationComponentOptions(), { currentPage: 1, pageSize: 20 });
|
const pagination = Object.assign(new PaginationComponentOptions(), { id: 'page-id', currentPage: 1, pageSize: 20 });
|
||||||
const sort = new SortOptions('score', SortDirection.DESC);
|
const paginationService = new PaginationServiceStub(pagination);
|
||||||
const findlistOptions = Object.assign(new FindListOptions(), { currentPage: 1, elementsPerPage: 20 });
|
|
||||||
const paginationService = jasmine.createSpyObj('PaginationService', {
|
|
||||||
getCurrentPagination: observableOf(pagination),
|
|
||||||
getCurrentSort: observableOf(sort),
|
|
||||||
getFindListOptions: observableOf(findlistOptions),
|
|
||||||
resetPage: {},
|
|
||||||
getPageParam: 'p.page-id',
|
|
||||||
});
|
|
||||||
|
|
||||||
beforeEach(waitForAsync(() => {
|
beforeEach(waitForAsync(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
imports: [TranslateModule.forRoot(), NoopAnimationsModule, FormsModule],
|
imports: [TranslateModule.forRoot(), NoopAnimationsModule, FormsModule],
|
||||||
|
@@ -23,6 +23,7 @@ import { PaginationComponentOptions } from '../../../../../pagination/pagination
|
|||||||
import { SortDirection, SortOptions } from '../../../../../../core/cache/models/sort-options.model';
|
import { SortDirection, SortOptions } from '../../../../../../core/cache/models/sort-options.model';
|
||||||
import { FindListOptions } from '../../../../../../core/data/request.models';
|
import { FindListOptions } from '../../../../../../core/data/request.models';
|
||||||
import { PaginationService } from '../../../../../../core/pagination/pagination.service';
|
import { PaginationService } from '../../../../../../core/pagination/pagination.service';
|
||||||
|
import { PaginationServiceStub } from '../../../../../testing/pagination-service.stub';
|
||||||
|
|
||||||
describe('SearchFacetRangeOptionComponent', () => {
|
describe('SearchFacetRangeOptionComponent', () => {
|
||||||
let comp: SearchFacetRangeOptionComponent;
|
let comp: SearchFacetRangeOptionComponent;
|
||||||
@@ -58,17 +59,8 @@ describe('SearchFacetRangeOptionComponent', () => {
|
|||||||
let router;
|
let router;
|
||||||
const page = observableOf(0);
|
const page = observableOf(0);
|
||||||
|
|
||||||
const pagination = Object.assign(new PaginationComponentOptions(), { currentPage: 1, pageSize: 20 });
|
const pagination = Object.assign(new PaginationComponentOptions(), { id: 'page-id', currentPage: 1, pageSize: 20 });
|
||||||
const sort = new SortOptions('score', SortDirection.DESC);
|
const paginationService = new PaginationServiceStub(pagination);
|
||||||
const findlistOptions = Object.assign(new FindListOptions(), { currentPage: 1, elementsPerPage: 20 });
|
|
||||||
const paginationService = jasmine.createSpyObj('PaginationService', {
|
|
||||||
getCurrentPagination: observableOf(pagination),
|
|
||||||
getCurrentSort: observableOf(sort),
|
|
||||||
getFindListOptions: observableOf(findlistOptions),
|
|
||||||
resetPage: {},
|
|
||||||
updateRouteWithUrl: {},
|
|
||||||
getPageParam: 'p.page-id',
|
|
||||||
});
|
|
||||||
|
|
||||||
beforeEach(waitForAsync(() => {
|
beforeEach(waitForAsync(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
|
@@ -18,6 +18,7 @@ import { PaginationComponentOptions } from '../../../../../pagination/pagination
|
|||||||
import { SortDirection, SortOptions } from '../../../../../../core/cache/models/sort-options.model';
|
import { SortDirection, SortOptions } from '../../../../../../core/cache/models/sort-options.model';
|
||||||
import { FindListOptions } from '../../../../../../core/data/request.models';
|
import { FindListOptions } from '../../../../../../core/data/request.models';
|
||||||
import { PaginationService } from '../../../../../../core/pagination/pagination.service';
|
import { PaginationService } from '../../../../../../core/pagination/pagination.service';
|
||||||
|
import { PaginationServiceStub } from '../../../../../testing/pagination-service.stub';
|
||||||
|
|
||||||
describe('SearchFacetSelectedOptionComponent', () => {
|
describe('SearchFacetSelectedOptionComponent', () => {
|
||||||
let comp: SearchFacetSelectedOptionComponent;
|
let comp: SearchFacetSelectedOptionComponent;
|
||||||
@@ -110,17 +111,8 @@ describe('SearchFacetSelectedOptionComponent', () => {
|
|||||||
let router;
|
let router;
|
||||||
const page = observableOf(0);
|
const page = observableOf(0);
|
||||||
|
|
||||||
const pagination = Object.assign(new PaginationComponentOptions(), { currentPage: 1, pageSize: 20 });
|
const pagination = Object.assign(new PaginationComponentOptions(), { id: 'page-id', currentPage: 1, pageSize: 20 });
|
||||||
const sort = new SortOptions('score', SortDirection.DESC);
|
const paginationService = new PaginationServiceStub(pagination);
|
||||||
const findlistOptions = Object.assign(new FindListOptions(), { currentPage: 1, elementsPerPage: 20 });
|
|
||||||
const paginationService = jasmine.createSpyObj('PaginationService', {
|
|
||||||
getCurrentPagination: observableOf(pagination),
|
|
||||||
getCurrentSort: observableOf(sort),
|
|
||||||
getFindListOptions: observableOf(findlistOptions),
|
|
||||||
resetPage: {},
|
|
||||||
updateRouteWithUrl: {},
|
|
||||||
getPageParam: 'p.page-id'
|
|
||||||
});
|
|
||||||
|
|
||||||
beforeEach(waitForAsync(() => {
|
beforeEach(waitForAsync(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
|
@@ -16,6 +16,7 @@ import { SortDirection, SortOptions } from '../../../../core/cache/models/sort-o
|
|||||||
import { FindListOptions } from '../../../../core/data/request.models';
|
import { FindListOptions } from '../../../../core/data/request.models';
|
||||||
import { PaginationService } from '../../../../core/pagination/pagination.service';
|
import { PaginationService } from '../../../../core/pagination/pagination.service';
|
||||||
import { SearchConfigurationService } from '../../../../core/shared/search/search-configuration.service';
|
import { SearchConfigurationService } from '../../../../core/shared/search/search-configuration.service';
|
||||||
|
import { PaginationServiceStub } from '../../../testing/pagination-service.stub';
|
||||||
|
|
||||||
describe('SearchLabelComponent', () => {
|
describe('SearchLabelComponent', () => {
|
||||||
let comp: SearchLabelComponent;
|
let comp: SearchLabelComponent;
|
||||||
@@ -38,17 +39,8 @@ describe('SearchLabelComponent', () => {
|
|||||||
filter2
|
filter2
|
||||||
];
|
];
|
||||||
|
|
||||||
const pagination = Object.assign(new PaginationComponentOptions(), { currentPage: 1, pageSize: 20 });
|
const pagination = Object.assign(new PaginationComponentOptions(), { id: 'page-id', currentPage: 1, pageSize: 20 });
|
||||||
const sort = new SortOptions('score', SortDirection.DESC);
|
const paginationService = new PaginationServiceStub(pagination);
|
||||||
const findlistOptions = Object.assign(new FindListOptions(), { currentPage: 1, elementsPerPage: 20 });
|
|
||||||
const paginationService = jasmine.createSpyObj('PaginationService', {
|
|
||||||
getCurrentPagination: observableOf(pagination),
|
|
||||||
getCurrentSort: observableOf(sort),
|
|
||||||
getFindListOptions: observableOf(findlistOptions),
|
|
||||||
resetPage: {},
|
|
||||||
updateRouteWithUrl: {},
|
|
||||||
getPageParam: 'p.test-id'
|
|
||||||
});
|
|
||||||
|
|
||||||
beforeEach(waitForAsync(() => {
|
beforeEach(waitForAsync(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
|
@@ -17,6 +17,7 @@ import { SEARCH_CONFIG_SERVICE } from '../../../+my-dspace-page/my-dspace-page.c
|
|||||||
import { SidebarService } from '../../sidebar/sidebar.service';
|
import { SidebarService } from '../../sidebar/sidebar.service';
|
||||||
import { SidebarServiceStub } from '../../testing/sidebar-service.stub';
|
import { SidebarServiceStub } from '../../testing/sidebar-service.stub';
|
||||||
import { PaginationService } from '../../../core/pagination/pagination.service';
|
import { PaginationService } from '../../../core/pagination/pagination.service';
|
||||||
|
import { PaginationServiceStub } from '../../testing/pagination-service.stub';
|
||||||
|
|
||||||
describe('SearchSettingsComponent', () => {
|
describe('SearchSettingsComponent', () => {
|
||||||
|
|
||||||
@@ -65,11 +66,7 @@ describe('SearchSettingsComponent', () => {
|
|||||||
}),
|
}),
|
||||||
};
|
};
|
||||||
|
|
||||||
paginationService = jasmine.createSpyObj('PaginationService', {
|
paginationService = new PaginationServiceStub(pagination, sort);
|
||||||
getCurrentPagination: observableOf(pagination),
|
|
||||||
getCurrentSort: observableOf(sort),
|
|
||||||
resetPage: {},
|
|
||||||
});
|
|
||||||
|
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
imports: [TranslateModule.forRoot(), RouterTestingModule.withRoutes([])],
|
imports: [TranslateModule.forRoot(), RouterTestingModule.withRoutes([])],
|
||||||
|
@@ -15,6 +15,7 @@ import { PaginationComponentOptions } from '../../pagination/pagination-componen
|
|||||||
import { SortDirection, SortOptions } from '../../../core/cache/models/sort-options.model';
|
import { SortDirection, SortOptions } from '../../../core/cache/models/sort-options.model';
|
||||||
import { FindListOptions } from '../../../core/data/request.models';
|
import { FindListOptions } from '../../../core/data/request.models';
|
||||||
import { PaginationService } from '../../../core/pagination/pagination.service';
|
import { PaginationService } from '../../../core/pagination/pagination.service';
|
||||||
|
import { PaginationServiceStub } from '../../testing/pagination-service.stub';
|
||||||
|
|
||||||
describe('StartsWithDateComponent', () => {
|
describe('StartsWithDateComponent', () => {
|
||||||
let comp: StartsWithDateComponent;
|
let comp: StartsWithDateComponent;
|
||||||
@@ -30,15 +31,7 @@ describe('StartsWithDateComponent', () => {
|
|||||||
queryParams: observableOf({})
|
queryParams: observableOf({})
|
||||||
});
|
});
|
||||||
|
|
||||||
const pagination = Object.assign(new PaginationComponentOptions(), { currentPage: 1, pageSize: 20 });
|
paginationService = new PaginationServiceStub();
|
||||||
const sort = new SortOptions('score', SortDirection.DESC);
|
|
||||||
const findlistOptions = Object.assign(new FindListOptions(), { currentPage: 1, elementsPerPage: 20 });
|
|
||||||
|
|
||||||
paginationService = jasmine.createSpyObj('PaginationService', {
|
|
||||||
getCurrentPagination: observableOf(pagination),
|
|
||||||
getCurrentSort: observableOf(sort),
|
|
||||||
getFindListOptions: observableOf(findlistOptions),
|
|
||||||
});
|
|
||||||
|
|
||||||
beforeEach(waitForAsync(() => {
|
beforeEach(waitForAsync(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
|
@@ -13,6 +13,7 @@ import { SortDirection, SortOptions } from '../../../core/cache/models/sort-opti
|
|||||||
import { FindListOptions } from '../../../core/data/request.models';
|
import { FindListOptions } from '../../../core/data/request.models';
|
||||||
import { of as observableOf } from 'rxjs';
|
import { of as observableOf } from 'rxjs';
|
||||||
import { PaginationService } from '../../../core/pagination/pagination.service';
|
import { PaginationService } from '../../../core/pagination/pagination.service';
|
||||||
|
import { PaginationServiceStub } from '../../testing/pagination-service.stub';
|
||||||
|
|
||||||
describe('StartsWithTextComponent', () => {
|
describe('StartsWithTextComponent', () => {
|
||||||
let comp: StartsWithTextComponent;
|
let comp: StartsWithTextComponent;
|
||||||
@@ -22,15 +23,7 @@ describe('StartsWithTextComponent', () => {
|
|||||||
|
|
||||||
const options = ['0-9', 'A', 'B', 'C'];
|
const options = ['0-9', 'A', 'B', 'C'];
|
||||||
|
|
||||||
const pagination = Object.assign(new PaginationComponentOptions(), { currentPage: 1, pageSize: 20 });
|
const paginationService = new PaginationServiceStub();
|
||||||
const sort = new SortOptions('score', SortDirection.DESC);
|
|
||||||
const findlistOptions = Object.assign(new FindListOptions(), { currentPage: 1, elementsPerPage: 20 });
|
|
||||||
const paginationService = jasmine.createSpyObj('PaginationService', {
|
|
||||||
getCurrentPagination: observableOf(pagination),
|
|
||||||
getCurrentSort: observableOf(sort),
|
|
||||||
getFindListOptions: observableOf(findlistOptions),
|
|
||||||
resetPage: {},
|
|
||||||
});
|
|
||||||
|
|
||||||
beforeEach(waitForAsync(() => {
|
beforeEach(waitForAsync(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
|
25
src/app/shared/testing/pagination-service.stub.ts
Normal file
25
src/app/shared/testing/pagination-service.stub.ts
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
import { of as observableOf } from 'rxjs';
|
||||||
|
import { PaginationComponentOptions } from '../pagination/pagination-component-options.model';
|
||||||
|
import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model';
|
||||||
|
import { FindListOptions } from '../../core/data/request.models';
|
||||||
|
|
||||||
|
export class PaginationServiceStub {
|
||||||
|
|
||||||
|
constructor(
|
||||||
|
public pagination = Object.assign(new PaginationComponentOptions(), {currentPage: 1, pageSize: 20}),
|
||||||
|
public sort = new SortOptions('score', SortDirection.DESC),
|
||||||
|
public findlistOptions = Object.assign(new FindListOptions(), {currentPage: 1, elementsPerPage: 20}),
|
||||||
|
) {
|
||||||
|
}
|
||||||
|
|
||||||
|
getCurrentPagination = jasmine.createSpy('getCurrentPagination').and.returnValue(observableOf(this.pagination));
|
||||||
|
getCurrentSort = jasmine.createSpy('getCurrentSort').and.returnValue(observableOf(this.sort));
|
||||||
|
getFindListOptions = jasmine.createSpy('getFindListOptions').and.returnValue(observableOf(this.findlistOptions));
|
||||||
|
resetPage = jasmine.createSpy('resetPage');
|
||||||
|
updateRoute = jasmine.createSpy('updateRoute');
|
||||||
|
updateRouteWithUrl = jasmine.createSpy('updateRouteWithUrl');
|
||||||
|
clearPagination = jasmine.createSpy('clearPagination');
|
||||||
|
getRouteParameterValue = jasmine.createSpy('getRouteParameterValue').and.returnValue(observableOf(''));
|
||||||
|
getPageParam = jasmine.createSpy('getPageParam').and.returnValue(`p.${this.pagination.id}`);
|
||||||
|
|
||||||
|
}
|
@@ -2,13 +2,13 @@ import { Component, OnDestroy, OnInit } from '@angular/core';
|
|||||||
import { Router } from '@angular/router';
|
import { Router } from '@angular/router';
|
||||||
|
|
||||||
import { BehaviorSubject, combineLatest, Subscription } from 'rxjs';
|
import { BehaviorSubject, combineLatest, Subscription } from 'rxjs';
|
||||||
import { filter, mergeMap, take } from 'rxjs/operators';
|
import { filter, mergeMap, switchMap, take } from 'rxjs/operators';
|
||||||
import { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';
|
import { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';
|
||||||
|
|
||||||
import { ExternalSourceService } from '../../core/data/external-source.service';
|
import { ExternalSourceService } from '../../core/data/external-source.service';
|
||||||
import { ExternalSourceData } from './import-external-searchbar/submission-import-external-searchbar.component';
|
import { ExternalSourceData } from './import-external-searchbar/submission-import-external-searchbar.component';
|
||||||
import { RemoteData } from '../../core/data/remote-data';
|
import { RemoteData } from '../../core/data/remote-data';
|
||||||
import { PaginatedList, buildPaginatedList } from '../../core/data/paginated-list.model';
|
import { buildPaginatedList, PaginatedList } from '../../core/data/paginated-list.model';
|
||||||
import { ExternalSourceEntry } from '../../core/shared/external-source-entry.model';
|
import { ExternalSourceEntry } from '../../core/shared/external-source-entry.model';
|
||||||
import { SearchConfigurationService } from '../../core/shared/search/search-configuration.service';
|
import { SearchConfigurationService } from '../../core/shared/search/search-configuration.service';
|
||||||
import { Context } from '../../core/shared/context.model';
|
import { Context } from '../../core/shared/context.model';
|
||||||
@@ -167,25 +167,27 @@ export class SubmissionImportExternalComponent implements OnInit, OnDestroy {
|
|||||||
* @param query The query string to search
|
* @param query The query string to search
|
||||||
*/
|
*/
|
||||||
private retrieveExternalSources(): void {
|
private retrieveExternalSources(): void {
|
||||||
this.reload$.subscribe((sourceQueryObject: {source: string, query: string}) => {
|
this.reload$.pipe(
|
||||||
|
switchMap(
|
||||||
|
(sourceQueryObject: { source: string, query: string }) => {
|
||||||
const source = sourceQueryObject.source;
|
const source = sourceQueryObject.source;
|
||||||
const query = sourceQueryObject.query;
|
const query = sourceQueryObject.query;
|
||||||
if (isNotEmpty(source) && isNotEmpty(query)) {
|
if (isNotEmpty(source) && isNotEmpty(query)) {
|
||||||
this.routeData.sourceId = source;
|
this.routeData.sourceId = source;
|
||||||
this.routeData.query = query;
|
this.routeData.query = query;
|
||||||
this.isLoading$.next(true);
|
this.isLoading$.next(true);
|
||||||
this.subs.push(
|
return this.searchConfigService.paginatedSearchOptions.pipe(
|
||||||
this.searchConfigService.paginatedSearchOptions.pipe(
|
|
||||||
filter((searchOptions) => searchOptions.query === query),
|
filter((searchOptions) => searchOptions.query === query),
|
||||||
mergeMap((searchOptions) => this.externalService.getExternalSourceEntries(this.routeData.sourceId, searchOptions).pipe(
|
mergeMap((searchOptions) => this.externalService.getExternalSourceEntries(this.routeData.sourceId, searchOptions).pipe(
|
||||||
getFinishedRemoteData(),
|
getFinishedRemoteData(),
|
||||||
)),
|
)),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
),
|
||||||
).subscribe((rdData) => {
|
).subscribe((rdData) => {
|
||||||
this.entriesRD$.next(rdData);
|
this.entriesRD$.next(rdData);
|
||||||
this.isLoading$.next(false);
|
this.isLoading$.next(false);
|
||||||
})
|
|
||||||
);
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user