Skip to content

Commit c11f494

Browse files
[UXP-138] Unit test fix
1 parent a25b08e commit c11f494

1 file changed

Lines changed: 100 additions & 21 deletions

File tree

  • src/app/cris-layout/cris-layout-matrix/cris-layout-box-container/boxes/metadata/rendering-types/image
Lines changed: 100 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,104 @@
1-
import { ComponentFixture, TestBed } from '@angular/core/testing';
1+
import {ComponentFixture, TestBed} from '@angular/core/testing';
22

3-
import { ImageComponent } from './image.component';
3+
import {ImageComponent} from './image.component';
4+
import {LayoutField} from '../../../../../../../core/layout/models/box.model';
5+
import {FieldRenderingType} from '../metadata-box.decorator';
6+
import {Item} from '../../../../../../../core/shared/item.model';
7+
import {Observable, of} from 'rxjs';
8+
import {BitstreamDataService} from '../../../../../../../core/data/bitstream-data.service';
9+
import {TranslateLoader, TranslateModule, TranslateService} from '@ngx-translate/core';
10+
import {RemoteData} from '../../../../../../../core/data/remote-data';
11+
import {Bitstream} from '../../../../../../../core/shared/bitstream.model';
12+
import {createSuccessfulRemoteDataObject$} from '../../../../../../../shared/remote-data.utils';
13+
import {TranslateLoaderMock} from '../../../../../../../shared/mocks/translate-loader.mock';
14+
import {createPaginatedList} from '../../../../../../../shared/testing/utils.test';
415

516
describe('ImageComponent', () => {
6-
let component: ImageComponent;
7-
let fixture: ComponentFixture<ImageComponent>;
8-
9-
beforeEach(async () => {
10-
await TestBed.configureTestingModule({
11-
declarations: [ ImageComponent ]
12-
})
13-
.compileComponents();
14-
});
15-
16-
beforeEach(() => {
17-
fixture = TestBed.createComponent(ImageComponent);
18-
component = fixture.componentInstance;
19-
fixture.detectChanges();
20-
});
21-
22-
it('should create', () => {
23-
expect(component).toBeTruthy();
24-
});
17+
let component: ImageComponent;
18+
let fixture: ComponentFixture<ImageComponent>;
19+
20+
const mockField: LayoutField = {
21+
metadata: '',
22+
label: 'Files',
23+
rendering: FieldRenderingType.IMAGE,
24+
fieldType: 'BITSTREAM',
25+
style: null,
26+
styleLabel: 'test-style-label',
27+
styleValue: 'test-style-value',
28+
labelAsHeading: false,
29+
valuesInline: true,
30+
bitstream: {
31+
bundle: 'ORIGINAL',
32+
metadataField: null,
33+
metadataValue: null
34+
}
35+
};
36+
37+
const testItem = Object.assign(new Item(), {
38+
bundles: of({}),
39+
metadata: {
40+
'dc.identifier.doi': [
41+
{
42+
value: 'doi:10.1392/dironix'
43+
}
44+
]
45+
},
46+
_links: {
47+
self: {href: 'obj-selflink'}
48+
},
49+
uuid: 'item-uuid',
50+
});
51+
52+
const mockBitstreamDataService: any = jasmine.createSpyObj('BitstreamDataService', {
53+
getThumbnailFor(item: Item): Observable<RemoteData<Bitstream>> {
54+
return createSuccessfulRemoteDataObject$(new Bitstream());
55+
},
56+
findAllByItemAndBundleName: jasmine.createSpy('findAllByItemAndBundleName'),
57+
findByItem: of(createPaginatedList([new Bitstream()])),
58+
});
59+
const langList = ['en', 'xx', 'de'];
60+
const translateServiceStub: any = {
61+
getLangs: () => {
62+
return langList;
63+
},
64+
getBrowserLang: () => {
65+
return langList;
66+
},
67+
// eslint-disable-next-line @typescript-eslint/no-empty-function
68+
use: (param: string) => {
69+
}
70+
};
71+
72+
beforeEach(async () => {
73+
await TestBed.configureTestingModule({
74+
declarations: [ImageComponent],
75+
imports: [
76+
TranslateModule.forRoot({
77+
loader: {
78+
provide: TranslateLoader,
79+
useClass: TranslateLoaderMock
80+
}
81+
}),
82+
],
83+
providers: [
84+
{provide: 'fieldProvider', useValue: mockField},
85+
{provide: 'itemProvider', useValue: testItem},
86+
{provide: 'renderingSubTypeProvider', useValue: ''},
87+
{provide: 'tabNameProvider', useValue: ''},
88+
{provide: BitstreamDataService, useValue: mockBitstreamDataService},
89+
{provide: TranslateService, useValue: translateServiceStub},
90+
]
91+
})
92+
.compileComponents();
93+
});
94+
95+
beforeEach(() => {
96+
fixture = TestBed.createComponent(ImageComponent);
97+
component = fixture.componentInstance;
98+
fixture.detectChanges();
99+
});
100+
101+
it('should create', () => {
102+
expect(component).toBeTruthy();
103+
});
25104
});

0 commit comments

Comments
 (0)