mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-08 10:34:15 +00:00
Fixed tests
This commit is contained in:
@@ -1,16 +1,17 @@
|
|||||||
import { MetadataSchemaComponent } from './metadata-schema.component';
|
import { MetadataSchemaComponent } from './metadata-schema.component';
|
||||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
import { Observable } from 'rxjs/Observable';
|
import { Observable } from 'rxjs/Observable';
|
||||||
|
import 'rxjs/add/observable/of';
|
||||||
|
|
||||||
import { RemoteData } from '../../../core/data/remote-data';
|
import { RemoteData } from '../../../core/data/remote-data';
|
||||||
import { PaginatedList } from '../../../core/data/paginated-list';
|
import { PaginatedList } from '../../../core/data/paginated-list';
|
||||||
import { MetadataSchema } from '../../../core/metadata/metadataschema.model';
|
import { MetadataSchema } from '../../../core/metadata/metadataschema.model';
|
||||||
import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
|
import { TranslateModule } from '@ngx-translate/core';
|
||||||
import { CommonModule } from '@angular/common';
|
import { CommonModule } from '@angular/common';
|
||||||
import { ActivatedRoute, Router } from '@angular/router';
|
import { ActivatedRoute, Router } from '@angular/router';
|
||||||
import { By } from '@angular/platform-browser';
|
import { By } from '@angular/platform-browser';
|
||||||
import { MockTranslateLoader } from '../../../shared/testing/mock-translate-loader';
|
|
||||||
import { RegistryService } from '../../../core/registry/registry.service';
|
import { RegistryService } from '../../../core/registry/registry.service';
|
||||||
import { SharedModule } from '../../../shared/shared.module';
|
|
||||||
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
|
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
|
||||||
import { EnumKeysPipe } from '../../../shared/utils/enum-keys-pipe';
|
import { EnumKeysPipe } from '../../../shared/utils/enum-keys-pipe';
|
||||||
import { PaginationComponent } from '../../../shared/pagination/pagination.component';
|
import { PaginationComponent } from '../../../shared/pagination/pagination.component';
|
||||||
@@ -86,10 +87,10 @@ describe('MetadataSchemaComponent', () => {
|
|||||||
imports: [CommonModule, RouterTestingModule.withRoutes([]), TranslateModule.forRoot(), NgbModule.forRoot()],
|
imports: [CommonModule, RouterTestingModule.withRoutes([]), TranslateModule.forRoot(), NgbModule.forRoot()],
|
||||||
declarations: [MetadataSchemaComponent, PaginationComponent, EnumKeysPipe],
|
declarations: [MetadataSchemaComponent, PaginationComponent, EnumKeysPipe],
|
||||||
providers: [
|
providers: [
|
||||||
{ provide: RegistryService, useValue: registryServiceStub },
|
{provide: RegistryService, useValue: registryServiceStub},
|
||||||
{ provide: ActivatedRoute, useValue: activatedRouteStub },
|
{provide: ActivatedRoute, useValue: activatedRouteStub},
|
||||||
{ provide: HostWindowService, useValue: new HostWindowServiceStub(0) },
|
{provide: HostWindowService, useValue: new HostWindowServiceStub(0)},
|
||||||
{ provide: Router, useValue: new RouterStub() }
|
{provide: Router, useValue: new RouterStub()}
|
||||||
]
|
]
|
||||||
}).compileComponents();
|
}).compileComponents();
|
||||||
}));
|
}));
|
||||||
|
@@ -18,13 +18,11 @@ import { FileSectionComponent } from './simple/field-components/file-section/fil
|
|||||||
import { CollectionsComponent } from './field-components/collections/collections.component';
|
import { CollectionsComponent } from './field-components/collections/collections.component';
|
||||||
import { FullItemPageComponent } from './full/full-item-page.component';
|
import { FullItemPageComponent } from './full/full-item-page.component';
|
||||||
import { FullFileSectionComponent } from './full/field-components/file-section/full-file-section.component';
|
import { FullFileSectionComponent } from './full/field-components/file-section/full-file-section.component';
|
||||||
import { SubmissionModule } from '../submission/submission.module';
|
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
imports: [
|
imports: [
|
||||||
CommonModule,
|
CommonModule,
|
||||||
SharedModule,
|
SharedModule,
|
||||||
SubmissionModule,
|
|
||||||
ItemPageRoutingModule
|
ItemPageRoutingModule
|
||||||
],
|
],
|
||||||
declarations: [
|
declarations: [
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
import { NO_ERRORS_SCHEMA } from '@angular/core';
|
import { NO_ERRORS_SCHEMA } from '@angular/core';
|
||||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
import { ActivatedRoute } from '@angular/router';
|
||||||
|
|
||||||
import { Store } from '@ngrx/store';
|
import { Store } from '@ngrx/store';
|
||||||
import { TranslateModule } from '@ngx-translate/core';
|
import { TranslateModule } from '@ngx-translate/core';
|
||||||
@@ -7,10 +8,14 @@ import { Observable } from 'rxjs/Observable';
|
|||||||
import 'rxjs/add/observable/of';
|
import 'rxjs/add/observable/of';
|
||||||
|
|
||||||
import { LoginPageComponent } from './login-page.component';
|
import { LoginPageComponent } from './login-page.component';
|
||||||
|
import { ActivatedRouteStub } from '../shared/testing/active-router-stub';
|
||||||
|
|
||||||
describe('LoginPageComponent', () => {
|
describe('LoginPageComponent', () => {
|
||||||
let comp: LoginPageComponent;
|
let comp: LoginPageComponent;
|
||||||
let fixture: ComponentFixture<LoginPageComponent>;
|
let fixture: ComponentFixture<LoginPageComponent>;
|
||||||
|
const activatedRouteStub = Object.assign(new ActivatedRouteStub(), {
|
||||||
|
params: Observable.of({})
|
||||||
|
});
|
||||||
|
|
||||||
const store: Store<LoginPageComponent> = jasmine.createSpyObj('store', {
|
const store: Store<LoginPageComponent> = jasmine.createSpyObj('store', {
|
||||||
/* tslint:disable:no-empty */
|
/* tslint:disable:no-empty */
|
||||||
@@ -26,9 +31,8 @@ describe('LoginPageComponent', () => {
|
|||||||
],
|
],
|
||||||
declarations: [LoginPageComponent],
|
declarations: [LoginPageComponent],
|
||||||
providers: [
|
providers: [
|
||||||
{
|
{ provide: ActivatedRoute, useValue: activatedRouteStub },
|
||||||
provide: Store, useValue: store
|
{ provide: Store, useValue: store }
|
||||||
}
|
|
||||||
],
|
],
|
||||||
schemas: [NO_ERRORS_SCHEMA]
|
schemas: [NO_ERRORS_SCHEMA]
|
||||||
}).compileComponents();
|
}).compileComponents();
|
||||||
|
@@ -123,7 +123,7 @@ describe('BrowseService', () => {
|
|||||||
scheduler.schedule(() => service.getBrowseDefinitions().subscribe());
|
scheduler.schedule(() => service.getBrowseDefinitions().subscribe());
|
||||||
scheduler.flush();
|
scheduler.flush();
|
||||||
|
|
||||||
expect(requestService.configure).toHaveBeenCalledWith(expected);
|
expect(requestService.configure).toHaveBeenCalledWith(expected, undefined);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should call RemoteDataBuildService to create the RemoteData Observable', () => {
|
it('should call RemoteDataBuildService to create the RemoteData Observable', () => {
|
||||||
@@ -163,7 +163,7 @@ describe('BrowseService', () => {
|
|||||||
scheduler.schedule(() => service.getBrowseEntriesFor(browseDefinitions[1].id).subscribe());
|
scheduler.schedule(() => service.getBrowseEntriesFor(browseDefinitions[1].id).subscribe());
|
||||||
scheduler.flush();
|
scheduler.flush();
|
||||||
|
|
||||||
expect(requestService.configure).toHaveBeenCalledWith(expected);
|
expect(requestService.configure).toHaveBeenCalledWith(expected, undefined);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should call RemoteDataBuildService to create the RemoteData Observable', () => {
|
it('should call RemoteDataBuildService to create the RemoteData Observable', () => {
|
||||||
@@ -179,7 +179,7 @@ describe('BrowseService', () => {
|
|||||||
it('should throw an Error', () => {
|
it('should throw an Error', () => {
|
||||||
|
|
||||||
const definitionID = 'invalidID';
|
const definitionID = 'invalidID';
|
||||||
const expected = cold('--#-', undefined, new Error(`No metadata browse definition could be found for id '${definitionID}'`))
|
const expected = cold('--#-', undefined, new Error(`No metadata browse definition could be found for id '${definitionID}'`));
|
||||||
|
|
||||||
expect(service.getBrowseEntriesFor(definitionID)).toBeObservable(expected);
|
expect(service.getBrowseEntriesFor(definitionID)).toBeObservable(expected);
|
||||||
});
|
});
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
import { Store } from '@ngrx/store';
|
import { Store } from '@ngrx/store';
|
||||||
import { cold, hot } from 'jasmine-marbles';
|
import { cold, hot } from 'jasmine-marbles';
|
||||||
import { Observable } from 'rxjs/Observable';
|
import { Observable } from 'rxjs/Observable';
|
||||||
import 'rxjs/add/observable/of';
|
import 'rxjs/add/observable/of'
|
||||||
import { getMockObjectCacheService } from '../../shared/mocks/mock-object-cache.service';
|
import { getMockObjectCacheService } from '../../shared/mocks/mock-object-cache.service';
|
||||||
import { getMockResponseCacheService } from '../../shared/mocks/mock-response-cache.service';
|
import { getMockResponseCacheService } from '../../shared/mocks/mock-response-cache.service';
|
||||||
import { getMockStore } from '../../shared/mocks/mock-store';
|
import { getMockStore } from '../../shared/mocks/mock-store';
|
||||||
@@ -235,6 +235,7 @@ describe('RequestService', () => {
|
|||||||
service.configure(request);
|
service.configure(request);
|
||||||
expect(serviceAsAny.trackRequestsOnTheirWayToTheStore).toHaveBeenCalledWith(request);
|
expect(serviceAsAny.trackRequestsOnTheirWayToTheStore).toHaveBeenCalledWith(request);
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('and it isn\'t cached or pending', () => {
|
describe('and it isn\'t cached or pending', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
spyOn(serviceAsAny, 'isCachedOrPending').and.returnValue(false);
|
spyOn(serviceAsAny, 'isCachedOrPending').and.returnValue(false);
|
||||||
@@ -277,28 +278,6 @@ describe('RequestService', () => {
|
|||||||
service.configure(testPatchRequest);
|
service.configure(testPatchRequest);
|
||||||
expect(serviceAsAny.dispatchRequest).toHaveBeenCalledWith(testPatchRequest);
|
expect(serviceAsAny.dispatchRequest).toHaveBeenCalledWith(testPatchRequest);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('shouldn\'t track it on it\'s way to the store', () => {
|
|
||||||
spyOn(serviceAsAny, 'trackRequestsOnTheirWayToTheStore');
|
|
||||||
|
|
||||||
serviceAsAny.dispatchRequest(testPostRequest);
|
|
||||||
expect(serviceAsAny.trackRequestsOnTheirWayToTheStore).not.toHaveBeenCalled();
|
|
||||||
|
|
||||||
serviceAsAny.dispatchRequest(testPutRequest);
|
|
||||||
expect(serviceAsAny.trackRequestsOnTheirWayToTheStore).not.toHaveBeenCalled();
|
|
||||||
|
|
||||||
serviceAsAny.dispatchRequest(testDeleteRequest);
|
|
||||||
expect(serviceAsAny.trackRequestsOnTheirWayToTheStore).not.toHaveBeenCalled();
|
|
||||||
|
|
||||||
serviceAsAny.dispatchRequest(testOptionsRequest);
|
|
||||||
expect(serviceAsAny.trackRequestsOnTheirWayToTheStore).not.toHaveBeenCalled();
|
|
||||||
|
|
||||||
serviceAsAny.dispatchRequest(testHeadRequest);
|
|
||||||
expect(serviceAsAny.trackRequestsOnTheirWayToTheStore).not.toHaveBeenCalled();
|
|
||||||
|
|
||||||
serviceAsAny.dispatchRequest(testPatchRequest);
|
|
||||||
expect(serviceAsAny.trackRequestsOnTheirWayToTheStore).not.toHaveBeenCalled();
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -409,6 +388,30 @@ describe('RequestService', () => {
|
|||||||
serviceAsAny.dispatchRequest(request);
|
serviceAsAny.dispatchRequest(request);
|
||||||
expect(store.dispatch).toHaveBeenCalledWith(new RequestExecuteAction(request.uuid));
|
expect(store.dispatch).toHaveBeenCalledWith(new RequestExecuteAction(request.uuid));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('when it\'s not a GET request', () => {
|
||||||
|
it('shouldn\'t track it', () => {
|
||||||
|
spyOn(serviceAsAny, 'trackRequestsOnTheirWayToTheStore');
|
||||||
|
|
||||||
|
serviceAsAny.dispatchRequest(testPostRequest);
|
||||||
|
expect(serviceAsAny.trackRequestsOnTheirWayToTheStore).not.toHaveBeenCalled();
|
||||||
|
|
||||||
|
serviceAsAny.dispatchRequest(testPutRequest);
|
||||||
|
expect(serviceAsAny.trackRequestsOnTheirWayToTheStore).not.toHaveBeenCalled();
|
||||||
|
|
||||||
|
serviceAsAny.dispatchRequest(testDeleteRequest);
|
||||||
|
expect(serviceAsAny.trackRequestsOnTheirWayToTheStore).not.toHaveBeenCalled();
|
||||||
|
|
||||||
|
serviceAsAny.dispatchRequest(testOptionsRequest);
|
||||||
|
expect(serviceAsAny.trackRequestsOnTheirWayToTheStore).not.toHaveBeenCalled();
|
||||||
|
|
||||||
|
serviceAsAny.dispatchRequest(testHeadRequest);
|
||||||
|
expect(serviceAsAny.trackRequestsOnTheirWayToTheStore).not.toHaveBeenCalled();
|
||||||
|
|
||||||
|
serviceAsAny.dispatchRequest(testPatchRequest);
|
||||||
|
expect(serviceAsAny.trackRequestsOnTheirWayToTheStore).not.toHaveBeenCalled();
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('trackRequestsOnTheirWayToTheStore', () => {
|
describe('trackRequestsOnTheirWayToTheStore', () => {
|
||||||
@@ -427,9 +430,18 @@ describe('RequestService', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
describe('when the request is added to the store', () => {
|
describe('when the request is added to the store', () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
spyOn(service, 'getByHref').and.returnValue(Observable.of({
|
||||||
|
request,
|
||||||
|
requestPending: false,
|
||||||
|
responsePending: true,
|
||||||
|
completed: false
|
||||||
|
}));
|
||||||
|
});
|
||||||
|
|
||||||
it('should stop tracking the request', () => {
|
it('should stop tracking the request', () => {
|
||||||
(store.select as any).and.returnValues(Observable.of({ request }));
|
|
||||||
serviceAsAny.trackRequestsOnTheirWayToTheStore(request);
|
serviceAsAny.trackRequestsOnTheirWayToTheStore(request);
|
||||||
|
expect(service.getByHref).toHaveBeenCalledWith(request.href);
|
||||||
expect(serviceAsAny.requestsOnTheirWayToTheStore.includes(request.href)).toBeFalsy();
|
expect(serviceAsAny.requestsOnTheirWayToTheStore.includes(request.href)).toBeFalsy();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@@ -1,17 +1,17 @@
|
|||||||
import { ComponentFixture, TestBed, async, fakeAsync, inject, tick } from '@angular/core/testing';
|
import { ComponentFixture, fakeAsync, TestBed, tick } from '@angular/core/testing';
|
||||||
import { RouterTestingModule } from '@angular/router/testing';
|
import { RouterTestingModule } from '@angular/router/testing';
|
||||||
|
|
||||||
import { Location, CommonModule } from '@angular/common';
|
import { CommonModule, Location } from '@angular/common';
|
||||||
import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
||||||
import { By, Meta, MetaDefinition, Title } from '@angular/platform-browser';
|
import { Meta, MetaDefinition, Title } from '@angular/platform-browser';
|
||||||
import { ActivatedRoute, Router } from '@angular/router';
|
import { ActivatedRoute, Router } from '@angular/router';
|
||||||
|
|
||||||
import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
|
import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
|
||||||
|
|
||||||
import { Store, StoreModule } from '@ngrx/store';
|
import { Store, StoreModule } from '@ngrx/store';
|
||||||
|
|
||||||
import { Observable } from 'rxjs/Observable';
|
import { Observable } from 'rxjs/Observable';
|
||||||
import { RemoteDataError } from '../data/remote-data-error';
|
import 'rxjs/add/observable/of';
|
||||||
import { UUIDService } from '../shared/uuid.service';
|
import { UUIDService } from '../shared/uuid.service';
|
||||||
|
|
||||||
import { MetadataService } from './metadata.service';
|
import { MetadataService } from './metadata.service';
|
||||||
@@ -27,8 +27,8 @@ import { RemoteDataBuildService } from '../cache/builders/remote-data-build.serv
|
|||||||
import { RequestService } from '../data/request.service';
|
import { RequestService } from '../data/request.service';
|
||||||
import { ResponseCacheService } from '../cache/response-cache.service';
|
import { ResponseCacheService } from '../cache/response-cache.service';
|
||||||
|
|
||||||
import { RemoteData } from '../../core/data/remote-data';
|
import { RemoteData } from '../data/remote-data';
|
||||||
import { Item } from '../../core/shared/item.model';
|
import { Item } from '../shared/item.model';
|
||||||
|
|
||||||
import { MockItem } from '../../shared/mocks/mock-item';
|
import { MockItem } from '../../shared/mocks/mock-item';
|
||||||
import { MockTranslateLoader } from '../../shared/mocks/mock-translate-loader';
|
import { MockTranslateLoader } from '../../shared/mocks/mock-translate-loader';
|
||||||
@@ -45,13 +45,15 @@ class TestComponent {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Component({ template: '' }) class DummyItemComponent {
|
@Component({ template: '' })
|
||||||
|
class DummyItemComponent {
|
||||||
constructor(private route: ActivatedRoute, private items: ItemDataService, private metadata: MetadataService) {
|
constructor(private route: ActivatedRoute, private items: ItemDataService, private metadata: MetadataService) {
|
||||||
this.route.params.subscribe((params) => {
|
this.route.params.subscribe((params) => {
|
||||||
this.metadata.processRemoteData(this.items.findById(params.id));
|
this.metadata.processRemoteData(this.items.findById(params.id));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* tslint:enable:max-classes-per-file */
|
/* tslint:enable:max-classes-per-file */
|
||||||
|
|
||||||
describe('MetadataService', () => {
|
describe('MetadataService', () => {
|
||||||
@@ -101,7 +103,12 @@ describe('MetadataService', () => {
|
|||||||
}),
|
}),
|
||||||
RouterTestingModule.withRoutes([
|
RouterTestingModule.withRoutes([
|
||||||
{ path: 'items/:id', component: DummyItemComponent, pathMatch: 'full' },
|
{ path: 'items/:id', component: DummyItemComponent, pathMatch: 'full' },
|
||||||
{ path: 'other', component: DummyItemComponent, pathMatch: 'full', data: { title: 'Dummy Title', description: 'This is a dummy item component for testing!' } }
|
{
|
||||||
|
path: 'other',
|
||||||
|
component: DummyItemComponent,
|
||||||
|
pathMatch: 'full',
|
||||||
|
data: { title: 'Dummy Title', description: 'This is a dummy item component for testing!' }
|
||||||
|
}
|
||||||
])
|
])
|
||||||
],
|
],
|
||||||
declarations: [
|
declarations: [
|
||||||
@@ -114,7 +121,7 @@ describe('MetadataService', () => {
|
|||||||
{ provide: RequestService, useValue: requestService },
|
{ provide: RequestService, useValue: requestService },
|
||||||
{ provide: RemoteDataBuildService, useValue: remoteDataBuildService },
|
{ provide: RemoteDataBuildService, useValue: remoteDataBuildService },
|
||||||
{ provide: GLOBAL_CONFIG, useValue: ENV_CONFIG },
|
{ provide: GLOBAL_CONFIG, useValue: ENV_CONFIG },
|
||||||
{ provide: HALEndpointService, useValue: {}},
|
{ provide: HALEndpointService, useValue: {} },
|
||||||
Meta,
|
Meta,
|
||||||
Title,
|
Title,
|
||||||
ItemDataService,
|
ItemDataService,
|
||||||
@@ -172,7 +179,7 @@ describe('MetadataService', () => {
|
|||||||
spyOn(itemDataService, 'findById').and.returnValue(mockRemoteData(MockItem));
|
spyOn(itemDataService, 'findById').and.returnValue(mockRemoteData(MockItem));
|
||||||
router.navigate(['/items/0ec7ff22-f211-40ab-a69e-c819b0b1f357']);
|
router.navigate(['/items/0ec7ff22-f211-40ab-a69e-c819b0b1f357']);
|
||||||
tick();
|
tick();
|
||||||
expect(tagStore.size).toBeGreaterThan(0)
|
expect(tagStore.size).toBeGreaterThan(0);
|
||||||
router.navigate(['/other']);
|
router.navigate(['/other']);
|
||||||
tick();
|
tick();
|
||||||
expect(tagStore.size).toEqual(2);
|
expect(tagStore.size).toEqual(2);
|
||||||
@@ -189,7 +196,7 @@ describe('MetadataService', () => {
|
|||||||
undefined,
|
undefined,
|
||||||
MockItem
|
MockItem
|
||||||
));
|
));
|
||||||
}
|
};
|
||||||
|
|
||||||
const mockType = (mockItem: Item, type: string): Item => {
|
const mockType = (mockItem: Item, type: string): Item => {
|
||||||
const typedMockItem = Object.assign(new Item(), mockItem) as Item;
|
const typedMockItem = Object.assign(new Item(), mockItem) as Item;
|
||||||
@@ -200,7 +207,7 @@ describe('MetadataService', () => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
return typedMockItem;
|
return typedMockItem;
|
||||||
}
|
};
|
||||||
|
|
||||||
const mockPublisher = (mockItem: Item): Item => {
|
const mockPublisher = (mockItem: Item): Item => {
|
||||||
const publishedMockItem = Object.assign(new Item(), mockItem) as Item;
|
const publishedMockItem = Object.assign(new Item(), mockItem) as Item;
|
||||||
|
@@ -88,10 +88,10 @@ export class Item extends DSpaceObject {
|
|||||||
*/
|
*/
|
||||||
getBitstreamsByBundleName(bundleName: string): Observable<Bitstream[]> {
|
getBitstreamsByBundleName(bundleName: string): Observable<Bitstream[]> {
|
||||||
return this.bitstreams
|
return this.bitstreams
|
||||||
.filter((rd: RemoteData<Bitstream[]>) => rd.hasSucceeded)
|
.filter((rd: RemoteData<Bitstream[]>) => !rd.isResponsePending)
|
||||||
.map((rd: RemoteData<Bitstream[]>) => rd.payload)
|
.map((rd: RemoteData<Bitstream[]>) => rd.payload)
|
||||||
.filter((bitstreams: Bitstream[]) => hasValue(bitstreams))
|
.filter((bitstreams: Bitstream[]) => hasValue(bitstreams))
|
||||||
.first()
|
.take(1)
|
||||||
.startWith([])
|
.startWith([])
|
||||||
.map((bitstreams) => {
|
.map((bitstreams) => {
|
||||||
return bitstreams
|
return bitstreams
|
||||||
|
@@ -4,7 +4,7 @@ import { getMockRequestService } from '../../shared/mocks/mock-request.service';
|
|||||||
import { getMockResponseCacheService } from '../../shared/mocks/mock-response-cache.service';
|
import { getMockResponseCacheService } from '../../shared/mocks/mock-response-cache.service';
|
||||||
import { ResponseCacheEntry } from '../cache/response-cache.reducer';
|
import { ResponseCacheEntry } from '../cache/response-cache.reducer';
|
||||||
import { ResponseCacheService } from '../cache/response-cache.service';
|
import { ResponseCacheService } from '../cache/response-cache.service';
|
||||||
import { GetRequest, RestRequest } from '../data/request.models';
|
import { GetRequest } from '../data/request.models';
|
||||||
import { RequestEntry } from '../data/request.reducer';
|
import { RequestEntry } from '../data/request.reducer';
|
||||||
import { RequestService } from '../data/request.service';
|
import { RequestService } from '../data/request.service';
|
||||||
import {
|
import {
|
||||||
@@ -133,7 +133,7 @@ describe('Core Module - RxJS Operators', () => {
|
|||||||
scheduler.schedule(() => source.pipe(configureRequest(requestService)).subscribe());
|
scheduler.schedule(() => source.pipe(configureRequest(requestService)).subscribe());
|
||||||
scheduler.flush();
|
scheduler.flush();
|
||||||
|
|
||||||
expect(requestService.configure).toHaveBeenCalledWith(testRequest)
|
expect(requestService.configure).toHaveBeenCalledWith(testRequest, undefined)
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@@ -82,6 +82,16 @@ describe('DsDynamicGroupComponent test suite', () => {
|
|||||||
required: 'required',
|
required: 'required',
|
||||||
regex: 'pattern'
|
regex: 'pattern'
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
submission: {
|
||||||
|
metadata: {
|
||||||
|
icons: [
|
||||||
|
{
|
||||||
|
name: 'default',
|
||||||
|
config: {}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} as any;
|
} as any;
|
||||||
let testComp: TestComponent;
|
let testComp: TestComponent;
|
||||||
|
@@ -13,7 +13,6 @@ import { FormService } from './form.service';
|
|||||||
import { FormBuilderService } from './builder/form-builder.service';
|
import { FormBuilderService } from './builder/form-builder.service';
|
||||||
import { AppState } from '../../app.reducer';
|
import { AppState } from '../../app.reducer';
|
||||||
import { formReducer } from './form.reducer';
|
import { formReducer } from './form.reducer';
|
||||||
import { GlobalConfig } from '../../../config/global-config.interface';
|
|
||||||
|
|
||||||
describe('FormService test suite', () => {
|
describe('FormService test suite', () => {
|
||||||
const config = {
|
const config = {
|
||||||
|
Reference in New Issue
Block a user