"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/app/item-page/simple/item-types/untyped-item/untyped-item.component.spec.ts" between
dspace-angular-dspace-7.0.tar.gz and dspace-angular-dspace-7.1.tar.gz

About: dspace-angular is the Angular-based frontend of DSpace, a digital repository system to capture, store, index, preserve and redistribute an organization’s research material in digital formats.

untyped-item.component.spec.ts  (dspace-angular-dspace-7.0):untyped-item.component.spec.ts  (dspace-angular-dspace-7.1)
skipping to change at line 15 skipping to change at line 15
import { Store } from '@ngrx/store'; import { Store } from '@ngrx/store';
import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
import { Observable } from 'rxjs/internal/Observable'; import { Observable } from 'rxjs/internal/Observable';
import { RemoteDataBuildService } from '../../../../core/cache/builders/remote-d ata-build.service'; import { RemoteDataBuildService } from '../../../../core/cache/builders/remote-d ata-build.service';
import { ObjectCacheService } from '../../../../core/cache/object-cache.service' ; import { ObjectCacheService } from '../../../../core/cache/object-cache.service' ;
import { BitstreamDataService } from '../../../../core/data/bitstream-data.servi ce'; import { BitstreamDataService } from '../../../../core/data/bitstream-data.servi ce';
import { CommunityDataService } from '../../../../core/data/community-data.servi ce'; import { CommunityDataService } from '../../../../core/data/community-data.servi ce';
import { DefaultChangeAnalyzer } from '../../../../core/data/default-change-anal yzer.service'; import { DefaultChangeAnalyzer } from '../../../../core/data/default-change-anal yzer.service';
import { DSOChangeAnalyzer } from '../../../../core/data/dso-change-analyzer.ser vice'; import { DSOChangeAnalyzer } from '../../../../core/data/dso-change-analyzer.ser vice';
import { ItemDataService } from '../../../../core/data/item-data.service'; import { ItemDataService } from '../../../../core/data/item-data.service';
import { buildPaginatedList } from '../../../../core/data/paginated-list.model';
import { RelationshipService } from '../../../../core/data/relationship.service' ; import { RelationshipService } from '../../../../core/data/relationship.service' ;
import { RemoteData } from '../../../../core/data/remote-data'; import { RemoteData } from '../../../../core/data/remote-data';
import { Bitstream } from '../../../../core/shared/bitstream.model'; import { Bitstream } from '../../../../core/shared/bitstream.model';
import { HALEndpointService } from '../../../../core/shared/hal-endpoint.service '; import { HALEndpointService } from '../../../../core/shared/hal-endpoint.service ';
import { Item } from '../../../../core/shared/item.model'; import { Item } from '../../../../core/shared/item.model';
import { MetadataMap } from '../../../../core/shared/metadata.models'; import { MetadataMap } from '../../../../core/shared/metadata.models';
import { PageInfo } from '../../../../core/shared/page-info.model';
import { UUIDService } from '../../../../core/shared/uuid.service'; import { UUIDService } from '../../../../core/shared/uuid.service';
import { TranslateLoaderMock } from '../../../../shared/mocks/translate-loader.m ock'; import { TranslateLoaderMock } from '../../../../shared/mocks/translate-loader.m ock';
import { NotificationsService } from '../../../../shared/notifications/notificat ions.service'; import { NotificationsService } from '../../../../shared/notifications/notificat ions.service';
import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-dat a.utils'; import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-dat a.utils';
import { TruncatableService } from '../../../../shared/truncatable/truncatable.s ervice'; import { TruncatableService } from '../../../../shared/truncatable/truncatable.s ervice';
import { TruncatePipe } from '../../../../shared/utils/truncate.pipe'; import { TruncatePipe } from '../../../../shared/utils/truncate.pipe';
import { GenericItemPageFieldComponent } from '../../field-components/specific-f ield/generic/generic-item-page-field.component'; import { GenericItemPageFieldComponent } from '../../field-components/specific-f ield/generic/generic-item-page-field.component';
import { createRelationshipsObservable } from '../shared/item.component.spec'; import {
createRelationshipsObservable,
iiifEnabled,
iiifSearchEnabled, mockRouteService
} from '../shared/item.component.spec';
import { UntypedItemComponent } from './untyped-item.component'; import { UntypedItemComponent } from './untyped-item.component';
import { RouteService } from '../../../../core/services/route.service';
const mockItem: Item = Object.assign(new Item(), { import { of } from 'rxjs';
bundles: createSuccessfulRemoteDataObject$(buildPaginatedList(new PageInfo(), import { createPaginatedList } from '../../../../shared/testing/utils.test';
[])), import { VersionHistoryDataService } from '../../../../core/data/version-history
metadata: new MetadataMap(), -data.service';
relationships: createRelationshipsObservable() import { VersionDataService } from '../../../../core/data/version-data.service';
}); import { RouterTestingModule } from '@angular/router/testing';
import { WorkspaceitemDataService } from '../../../../core/submission/workspacei
tem-data.service';
import { SearchService } from '../../../../core/shared/search/search.service';
import { ItemVersionsSharedService } from '../../../../shared/item/item-versions
/item-versions-shared.service';
const iiifEnabledMap: MetadataMap = {
'dspace.iiif.enabled': [iiifEnabled],
};
const iiifEnabledWithSearchMap: MetadataMap = {
'dspace.iiif.enabled': [iiifEnabled],
'iiif.search.enabled': [iiifSearchEnabled],
};
const noMetadata = new MetadataMap();
function getItem(metadata: MetadataMap) {
return Object.assign(new Item(), {
bundles: createSuccessfulRemoteDataObject$(createPaginatedList([])),
metadata: metadata,
relationships: createRelationshipsObservable()
});
}
describe('UntypedItemComponent', () => { describe('UntypedItemComponent', () => {
let comp: UntypedItemComponent; let comp: UntypedItemComponent;
let fixture: ComponentFixture<UntypedItemComponent>; let fixture: ComponentFixture<UntypedItemComponent>;
beforeEach(waitForAsync(() => { beforeEach(waitForAsync(() => {
const mockBitstreamDataService = { const mockBitstreamDataService = {
getThumbnailFor(item: Item): Observable<RemoteData<Bitstream>> { getThumbnailFor(item: Item): Observable<RemoteData<Bitstream>> {
return createSuccessfulRemoteDataObject$(new Bitstream()); return createSuccessfulRemoteDataObject$(new Bitstream());
} }
}; };
TestBed.configureTestingModule({ TestBed.configureTestingModule({
imports: [TranslateModule.forRoot({ imports: [
loader: { TranslateModule.forRoot({
provide: TranslateLoader, loader: {
useClass: TranslateLoaderMock provide: TranslateLoader,
} useClass: TranslateLoaderMock
})], }
declarations: [UntypedItemComponent, GenericItemPageFieldComponent, Trunca }),
tePipe], RouterTestingModule,
],
declarations: [UntypedItemComponent, GenericItemPageFieldComponent, Trunca
tePipe ],
providers: [ providers: [
{ provide: ItemDataService, useValue: {} }, { provide: ItemDataService, useValue: {} },
{ provide: TruncatableService, useValue: {} }, { provide: TruncatableService, useValue: {} },
{ provide: RelationshipService, useValue: {} }, { provide: RelationshipService, useValue: {} },
{ provide: ObjectCacheService, useValue: {} }, { provide: ObjectCacheService, useValue: {} },
{ provide: UUIDService, useValue: {} }, { provide: UUIDService, useValue: {} },
{ provide: Store, useValue: {} }, { provide: Store, useValue: {} },
{ provide: RemoteDataBuildService, useValue: {} }, { provide: RemoteDataBuildService, useValue: {} },
{ provide: CommunityDataService, useValue: {} }, { provide: CommunityDataService, useValue: {} },
{ provide: HALEndpointService, useValue: {} }, { provide: HALEndpointService, useValue: {} },
{ provide: NotificationsService, useValue: {} }, { provide: NotificationsService, useValue: {} },
{ provide: HttpClient, useValue: {} }, { provide: HttpClient, useValue: {} },
{ provide: DSOChangeAnalyzer, useValue: {} }, { provide: DSOChangeAnalyzer, useValue: {} },
{ provide: DefaultChangeAnalyzer, useValue: {} }, { provide: DefaultChangeAnalyzer, useValue: {} },
{ provide: VersionHistoryDataService, useValue: {} },
{ provide: VersionDataService, useValue: {} },
{ provide: BitstreamDataService, useValue: mockBitstreamDataService }, { provide: BitstreamDataService, useValue: mockBitstreamDataService },
{ provide: WorkspaceitemDataService, useValue: {} },
{ provide: SearchService, useValue: {} },
{ provide: ItemDataService, useValue: {} },
{ provide: ItemVersionsSharedService, useValue: {} },
{ provide: RouteService, useValue: mockRouteService }
], ],
schemas: [NO_ERRORS_SCHEMA] schemas: [NO_ERRORS_SCHEMA]
}).overrideComponent(UntypedItemComponent, { }).overrideComponent(UntypedItemComponent, {
set: { changeDetection: ChangeDetectionStrategy.Default } set: {changeDetection: ChangeDetectionStrategy.Default}
}).compileComponents(); }).compileComponents();
})); }));
beforeEach(waitForAsync(() => { describe('default view', () => {
fixture = TestBed.createComponent(UntypedItemComponent); beforeEach(waitForAsync(() => {
comp = fixture.componentInstance; fixture = TestBed.createComponent(UntypedItemComponent);
comp.object = mockItem; comp = fixture.componentInstance;
fixture.detectChanges(); comp.object = getItem(noMetadata);
})); fixture.detectChanges();
}));
it('should contain a component to display the date', () => {
const fields = fixture.debugElement.queryAll(By.css('ds-item-page-date-field it('should contain a component to display the date', () => {
')); const fields = fixture.debugElement.queryAll(By.css('ds-item-page-date-fie
expect(fields.length).toBeGreaterThanOrEqual(1); ld'));
}); expect(fields.length).toBeGreaterThanOrEqual(1);
});
it('should not contain a metadata only author field', () => {
const fields = fixture.debugElement.queryAll(By.css('ds-item-page-author-fie it('should not contain a metadata only author field', () => {
ld')); const fields = fixture.debugElement.queryAll(By.css('ds-item-page-author-f
expect(fields.length).toBe(0); ield'));
}); expect(fields.length).toBe(0);
});
it('should contain a mixed metadata and relationship field for authors', () =>
{ it('should contain a mixed metadata and relationship field for authors', ()
const fields = fixture.debugElement.queryAll(By.css('.ds-item-page-mixed-aut => {
hor-field')); const fields = fixture.debugElement.queryAll(By.css('.ds-item-page-mixed-a
expect(fields.length).toBe(1); uthor-field'));
}); expect(fields.length).toBe(1);
});
it('should contain a component to display the abstract', () => {
const fields = fixture.debugElement.queryAll(By.css('ds-item-page-abstract-f it('should contain a component to display the abstract', () => {
ield')); const fields = fixture.debugElement.queryAll(By.css('ds-item-page-abstract
expect(fields.length).toBeGreaterThanOrEqual(1); -field'));
}); expect(fields.length).toBeGreaterThanOrEqual(1);
});
it('should contain a component to display the uri', () => {
const fields = fixture.debugElement.queryAll(By.css('ds-item-page-uri-field' it('should contain a component to display the uri', () => {
)); const fields = fixture.debugElement.queryAll(By.css('ds-item-page-uri-fiel
expect(fields.length).toBeGreaterThanOrEqual(1); d'));
}); expect(fields.length).toBeGreaterThanOrEqual(1);
});
it('should contain a component to display the collections', () => {
const fields = fixture.debugElement.queryAll(By.css('ds-item-page-collecti
ons'));
expect(fields.length).toBeGreaterThanOrEqual(1);
});
it('should not contain an iiif viewer component', () => {
const fields = fixture.debugElement.queryAll(By.css('ds-mirador-viewer'));
expect(fields.length).toBe(0);
});
});
describe('with IIIF viewer', () => {
beforeEach(waitForAsync(() => {
fixture = TestBed.createComponent(UntypedItemComponent);
comp = fixture.componentInstance;
comp.object = getItem(iiifEnabledMap);
fixture.detectChanges();
}));
it('should contain an iiif viewer component', () => {
const fields = fixture.debugElement.queryAll(By.css('ds-mirador-viewer'));
expect(fields.length).toBeGreaterThanOrEqual(1);
});
});
describe('with IIIF viewer and search', () => {
beforeEach(waitForAsync(() => {
mockRouteService.getPreviousUrl.and.returnValue(of(['/search?q=bird&motiva
tion=painting','/item']));
fixture = TestBed.createComponent(UntypedItemComponent);
comp = fixture.componentInstance;
comp.object = getItem(iiifEnabledWithSearchMap);
fixture.detectChanges();
}));
it('should contain an iiif viewer component', () => {
const fields = fixture.debugElement.queryAll(By.css('ds-mirador-viewer'));
expect(fields.length).toBeGreaterThanOrEqual(1);
});
it('should call the RouteService getHistory method', () => {
expect(mockRouteService.getPreviousUrl).toHaveBeenCalled();
});
it('should contain a component to display the collections', () => {
const fields = fixture.debugElement.queryAll(By.css('ds-item-page-collection
s'));
expect(fields.length).toBeGreaterThanOrEqual(1);
}); });
}); });
 End of changes. 11 change blocks. 
61 lines changed or deleted 141 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)