Skip to content

Commit 9bcd044

Browse files
DawnkaiMaciej Kleban
authored andcommitted
Fix testing errors
Fix errors in testing introduced by PR: DSpace#5106 by replacing Store mocking with mocking of the SiteService.
1 parent cdefe3e commit 9bcd044

2 files changed

Lines changed: 49 additions & 27 deletions

File tree

src/app/footer/footer.component.spec.ts

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import { ActivatedRoute } from '@angular/router';
1010
import { APP_CONFIG } from '@dspace/config/app-config.interface';
1111
import { NotifyInfoService } from '@dspace/core/coar-notify/notify-info/notify-info.service';
1212
import { AuthorizationDataService } from '@dspace/core/data/feature-authorization/authorization-data.service';
13+
import { SiteDataService } from '@dspace/core/data/site-data.service';
1314
import { APP_DATA_SERVICES_MAP } from '@dspace/core/data-services-map-type';
1415
import { LocaleService } from '@dspace/core/locale/locale.service';
1516
import { ResourceType } from '@dspace/core/shared/resource-type';
@@ -25,13 +26,28 @@ import { FooterComponent } from './footer.component';
2526
let comp: FooterComponent;
2627
let fixture: ComponentFixture<FooterComponent>;
2728
let localeService: any;
29+
let mockSiteDataService: any;
2830

2931
const TEST_MODEL = new ResourceType('testmodel');
3032
const languageList = ['en;q=1', 'de;q=0.8'];
3133
const mockLocaleService = jasmine.createSpyObj('LocaleService', {
3234
getCurrentLanguageCode: jasmine.createSpy('getCurrentLanguageCode'),
3335
getLanguageCodeList: of(languageList),
3436
});
37+
const mockSite = {
38+
firstMetadataValue: (key: string, options: any) => 'Sample Footer CMS Content',
39+
};
40+
const initialState = {
41+
core: {
42+
auth: {
43+
authenticated: false,
44+
loaded: false,
45+
blocking: undefined,
46+
loading: false,
47+
authMethods: [],
48+
},
49+
},
50+
};
3551

3652
let notifyInfoService = {
3753
isCoarConfigEnabled: () => of(true),
@@ -43,22 +59,21 @@ const mockDataServiceMap: any = new Map([
4359

4460
describe('Footer component', () => {
4561
beforeEach(waitForAsync(() => {
62+
mockSiteDataService = jasmine.createSpyObj('SiteDataService', ['find']);
63+
mockSiteDataService.find.and.returnValue(of(mockSite));
64+
4665
return TestBed.configureTestingModule({
4766
imports: [
4867
TranslateModule.forRoot(),
4968
],
5069
providers: [
5170
FooterComponent,
52-
provideMockStore({
53-
initialState: {
54-
index: {
55-
},
56-
},
57-
}),
71+
provideMockStore({ initialState }),
5872
{ provide: LocaleService, useValue: mockLocaleService },
5973
{ provide: AuthorizationDataService, useClass: AuthorizationDataServiceStub },
6074
{ provide: NotifyInfoService, useValue: notifyInfoService },
6175
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
76+
{ provide: SiteDataService, useValue: mockSiteDataService },
6277
{ provide: APP_CONFIG, useValue: environment },
6378
{ provide: APP_DATA_SERVICES_MAP, useValue: mockDataServiceMap },
6479
],

src/app/info/end-user-agreement/end-user-agreement-content/end-user-agreement-content.component.spec.ts

Lines changed: 28 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -16,38 +16,45 @@ import { of } from 'rxjs';
1616
import { environment } from '../../../../environments/environment.test';
1717
import { EndUserAgreementContentComponent } from './end-user-agreement-content.component';
1818

19-
let localeService: any;
20-
2119
const TEST_MODEL = new ResourceType('testmodel');
22-
23-
const mockDataServiceMap: any = new Map([
20+
const LANGUAGE_LIST = ['en;q=1', 'de;q=0.8'];
21+
const MOCK_DATA_MAP = new Map([
2422
[TEST_MODEL.value, () => import('../../../core/testing/test-data-service.mock').then(m => m.TestDataService)],
2523
]);
24+
const INITIAL_STATE = {
25+
core: {
26+
auth: {
27+
authenticated: false,
28+
loaded: false,
29+
blocking: undefined,
30+
loading: false,
31+
authMethods: [],
32+
},
33+
},
34+
};
2635

27-
const languageList = ['en;q=1', 'de;q=0.8'];
28-
const mockLocaleService = jasmine.createSpyObj('LocaleService', {
29-
getCurrentLanguageCode: jasmine.createSpy('getCurrentLanguageCode'),
30-
getLanguageCodeList: of(languageList),
31-
});
3236

3337
describe('EndUserAgreementContentComponent', () => {
3438
let component: EndUserAgreementContentComponent;
3539
let fixture: ComponentFixture<EndUserAgreementContentComponent>;
40+
let localeServiceSpy: jasmine.SpyObj<LocaleService>;
3641

3742
beforeEach(waitForAsync(() => {
43+
localeServiceSpy = jasmine.createSpyObj('LocaleService', [
44+
'getCurrentLanguageCode',
45+
'getLanguageCodeList',
46+
]);
47+
3848
TestBed.configureTestingModule({
39-
imports: [TranslateModule.forRoot(), EndUserAgreementContentComponent],
40-
providers: [
49+
imports: [
50+
TranslateModule.forRoot(),
4151
EndUserAgreementContentComponent,
42-
provideMockStore({
43-
initialState: {
44-
index: {
45-
},
46-
},
47-
}),
48-
{ provide: APP_DATA_SERVICES_MAP, useValue: mockDataServiceMap },
52+
],
53+
providers: [
54+
provideMockStore({ initialState: INITIAL_STATE }),
55+
{ provide: APP_DATA_SERVICES_MAP, useValue: MOCK_DATA_MAP },
4956
{ provide: APP_CONFIG, useValue: environment },
50-
{ provide: LocaleService, useValue: mockLocaleService },
57+
{ provide: LocaleService, useValue: localeServiceSpy },
5158
],
5259
schemas: [NO_ERRORS_SCHEMA],
5360
})
@@ -61,9 +68,9 @@ describe('EndUserAgreementContentComponent', () => {
6168

6269
beforeEach(() => {
6370
fixture = TestBed.createComponent(EndUserAgreementContentComponent);
64-
localeService = TestBed.inject(LocaleService);
65-
localeService.getCurrentLanguageCode.and.returnValue(of('en'));
6671
component = fixture.componentInstance;
72+
localeServiceSpy.getCurrentLanguageCode.and.returnValue(of('en'));
73+
localeServiceSpy.getLanguageCodeList.and.returnValue(of(LANGUAGE_LIST));
6774
fixture.detectChanges();
6875
});
6976

0 commit comments

Comments
 (0)