Skip to content

Commit 4c30e2d

Browse files
committed
119602: Fix existing accessibility-settings.service tests
1 parent d05096c commit 4c30e2d

1 file changed

Lines changed: 23 additions & 18 deletions

File tree

src/app/accessibility/accessibility-settings.service.spec.ts

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import { of } from 'rxjs';
1313
import { EPerson } from '../core/eperson/models/eperson.model';
1414
import { fakeAsync, flush } from '@angular/core/testing';
1515
import { createSuccessfulRemoteDataObject$, createFailedRemoteDataObject$ } from '../shared/remote-data.utils';
16-
import { KlaroService } from '../shared/cookies/klaro.service';
1716
import { KlaroServiceStub } from '../shared/cookies/klaro.service.stub';
1817

1918

@@ -22,13 +21,15 @@ describe('accessibilitySettingsService', () => {
2221
let cookieService: CookieServiceMock;
2322
let authService: AuthServiceStub;
2423
let ePersonService: EPersonDataService;
25-
let klaroService: KlaroService;
24+
let klaroService: KlaroServiceStub;
2625

2726
beforeEach(() => {
2827
cookieService = new CookieServiceMock();
2928
authService = new AuthServiceStub();
3029
klaroService = new KlaroServiceStub();
3130

31+
klaroService.getSavedPreferences.and.returnValue(of({ accessibility: true }));
32+
3233
ePersonService = jasmine.createSpyObj('ePersonService', {
3334
createPatchFromCache: of([{
3435
op: 'add',
@@ -176,12 +177,12 @@ describe('accessibilitySettingsService', () => {
176177

177178
describe('setSettings', () => {
178179
beforeEach(() => {
179-
service.setSettingsInCookie = jasmine.createSpy('setSettingsInCookie');
180+
service.setSettingsInCookie = jasmine.createSpy('setSettingsInCookie').and.returnValue(of('cookie'));
180181
});
181182

182183
it('should attempt to set settings in metadata', () => {
183184
service.setSettingsInAuthenticatedUserMetadata =
184-
jasmine.createSpy('setSettingsInAuthenticatedUserMetadata').and.returnValue(of(false));
185+
jasmine.createSpy('setSettingsInAuthenticatedUserMetadata').and.returnValue(of('failed'));
185186

186187
const settings: AccessibilitySettings = {
187188
notificationTimeOut: '1000',
@@ -205,7 +206,7 @@ describe('accessibilitySettingsService', () => {
205206

206207
it('should not set settings in cookie if metadata succeeded', () => {
207208
service.setSettingsInAuthenticatedUserMetadata =
208-
jasmine.createSpy('setSettingsInAuthenticatedUserMetadata').and.returnValue(of(true));
209+
jasmine.createSpy('setSettingsInAuthenticatedUserMetadata').and.returnValue(of('metadata'));
209210

210211
const settings: AccessibilitySettings = {
211212
notificationTimeOut: '1000',
@@ -217,7 +218,7 @@ describe('accessibilitySettingsService', () => {
217218

218219
it('should return \'metadata\' if settings are stored in metadata', () => {
219220
service.setSettingsInAuthenticatedUserMetadata =
220-
jasmine.createSpy('setSettingsInAuthenticatedUserMetadata').and.returnValue(of(true));
221+
jasmine.createSpy('setSettingsInAuthenticatedUserMetadata').and.returnValue(of('metadata'));
221222

222223
const settings: AccessibilitySettings = {
223224
notificationTimeOut: '1000',
@@ -280,11 +281,11 @@ describe('accessibilitySettingsService', () => {
280281
expect(service.setSettingsInMetadata).toHaveBeenCalled();
281282
}));
282283

283-
it('should emit false when the user is not authenticated', fakeAsync(() => {
284+
it('should emit "failed" when the user is not authenticated', fakeAsync(() => {
284285
authService.getAuthenticatedUserFromStoreIfAuthenticated = jasmine.createSpy().and.returnValue(of(null));
285286

286287
service.setSettingsInAuthenticatedUserMetadata({})
287-
.subscribe(value => expect(value).toBeFalse());
288+
.subscribe(value => expect(value).toEqual('failed'));
288289
flush();
289290

290291
expect(service.setSettingsInMetadata).not.toHaveBeenCalled();
@@ -320,23 +321,23 @@ describe('accessibilitySettingsService', () => {
320321
expect(ePersonService.patch).toHaveBeenCalled();
321322
});
322323

323-
it('should emit true when the update succeeded', fakeAsync(() => {
324+
it('should emit "metadata" when the update succeeded', fakeAsync(() => {
324325
ePersonService.patch = jasmine.createSpy().and.returnValue(createSuccessfulRemoteDataObject$({}));
325326

326327
service.setSettingsInMetadata(ePerson, { ['liveRegionTimeOut']: '500' })
327328
.subscribe(value => {
328-
expect(value).toBeTrue();
329+
expect(value).toEqual('metadata');
329330
});
330331

331332
flush();
332333
}));
333334

334-
it('should emit false when the update failed', fakeAsync(() => {
335+
it('should emit "failed" when the update failed', fakeAsync(() => {
335336
ePersonService.patch = jasmine.createSpy().and.returnValue(createFailedRemoteDataObject$());
336337

337338
service.setSettingsInMetadata(ePerson, { ['liveRegionTimeOut']: '500' })
338339
.subscribe(value => {
339-
expect(value).toBeFalse();
340+
expect(value).toEqual('failed');
340341
});
341342

342343
flush();
@@ -349,16 +350,20 @@ describe('accessibilitySettingsService', () => {
349350
cookieService.remove = jasmine.createSpy('remove');
350351
});
351352

352-
it('should store the settings in a cookie', () => {
353-
service.setSettingsInCookie({ ['liveRegionTimeOut']: '500' });
353+
it('should store the settings in a cookie', fakeAsync(() => {
354+
service.setSettingsInCookie({ ['liveRegionTimeOut']: '500' }).subscribe();
355+
flush();
354356
expect(cookieService.set).toHaveBeenCalled();
355-
});
357+
}));
358+
359+
it('should remove the cookie when the settings are empty', fakeAsync(() => {
360+
service.setSettingsInCookie({}).subscribe();
361+
362+
flush();
356363

357-
it('should remove the cookie when the settings are empty', () => {
358-
service.setSettingsInCookie({});
359364
expect(cookieService.set).not.toHaveBeenCalled();
360365
expect(cookieService.remove).toHaveBeenCalled();
361-
});
366+
}));
362367
});
363368

364369
describe('convertFormValuesToStoredValues', () => {

0 commit comments

Comments
 (0)