mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 10:04:11 +00:00
119602: Fix existing accessibility-settings.service tests
This commit is contained in:
@@ -13,7 +13,6 @@ import { of } from 'rxjs';
|
|||||||
import { EPerson } from '../core/eperson/models/eperson.model';
|
import { EPerson } from '../core/eperson/models/eperson.model';
|
||||||
import { fakeAsync, flush } from '@angular/core/testing';
|
import { fakeAsync, flush } from '@angular/core/testing';
|
||||||
import { createSuccessfulRemoteDataObject$, createFailedRemoteDataObject$ } from '../shared/remote-data.utils';
|
import { createSuccessfulRemoteDataObject$, createFailedRemoteDataObject$ } from '../shared/remote-data.utils';
|
||||||
import { KlaroService } from '../shared/cookies/klaro.service';
|
|
||||||
import { KlaroServiceStub } from '../shared/cookies/klaro.service.stub';
|
import { KlaroServiceStub } from '../shared/cookies/klaro.service.stub';
|
||||||
|
|
||||||
|
|
||||||
@@ -22,13 +21,15 @@ describe('accessibilitySettingsService', () => {
|
|||||||
let cookieService: CookieServiceMock;
|
let cookieService: CookieServiceMock;
|
||||||
let authService: AuthServiceStub;
|
let authService: AuthServiceStub;
|
||||||
let ePersonService: EPersonDataService;
|
let ePersonService: EPersonDataService;
|
||||||
let klaroService: KlaroService;
|
let klaroService: KlaroServiceStub;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
cookieService = new CookieServiceMock();
|
cookieService = new CookieServiceMock();
|
||||||
authService = new AuthServiceStub();
|
authService = new AuthServiceStub();
|
||||||
klaroService = new KlaroServiceStub();
|
klaroService = new KlaroServiceStub();
|
||||||
|
|
||||||
|
klaroService.getSavedPreferences.and.returnValue(of({ accessibility: true }));
|
||||||
|
|
||||||
ePersonService = jasmine.createSpyObj('ePersonService', {
|
ePersonService = jasmine.createSpyObj('ePersonService', {
|
||||||
createPatchFromCache: of([{
|
createPatchFromCache: of([{
|
||||||
op: 'add',
|
op: 'add',
|
||||||
@@ -176,12 +177,12 @@ describe('accessibilitySettingsService', () => {
|
|||||||
|
|
||||||
describe('setSettings', () => {
|
describe('setSettings', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
service.setSettingsInCookie = jasmine.createSpy('setSettingsInCookie');
|
service.setSettingsInCookie = jasmine.createSpy('setSettingsInCookie').and.returnValue(of('cookie'));
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should attempt to set settings in metadata', () => {
|
it('should attempt to set settings in metadata', () => {
|
||||||
service.setSettingsInAuthenticatedUserMetadata =
|
service.setSettingsInAuthenticatedUserMetadata =
|
||||||
jasmine.createSpy('setSettingsInAuthenticatedUserMetadata').and.returnValue(of(false));
|
jasmine.createSpy('setSettingsInAuthenticatedUserMetadata').and.returnValue(of('failed'));
|
||||||
|
|
||||||
const settings: AccessibilitySettings = {
|
const settings: AccessibilitySettings = {
|
||||||
notificationTimeOut: '1000',
|
notificationTimeOut: '1000',
|
||||||
@@ -205,7 +206,7 @@ describe('accessibilitySettingsService', () => {
|
|||||||
|
|
||||||
it('should not set settings in cookie if metadata succeeded', () => {
|
it('should not set settings in cookie if metadata succeeded', () => {
|
||||||
service.setSettingsInAuthenticatedUserMetadata =
|
service.setSettingsInAuthenticatedUserMetadata =
|
||||||
jasmine.createSpy('setSettingsInAuthenticatedUserMetadata').and.returnValue(of(true));
|
jasmine.createSpy('setSettingsInAuthenticatedUserMetadata').and.returnValue(of('metadata'));
|
||||||
|
|
||||||
const settings: AccessibilitySettings = {
|
const settings: AccessibilitySettings = {
|
||||||
notificationTimeOut: '1000',
|
notificationTimeOut: '1000',
|
||||||
@@ -217,7 +218,7 @@ describe('accessibilitySettingsService', () => {
|
|||||||
|
|
||||||
it('should return \'metadata\' if settings are stored in metadata', () => {
|
it('should return \'metadata\' if settings are stored in metadata', () => {
|
||||||
service.setSettingsInAuthenticatedUserMetadata =
|
service.setSettingsInAuthenticatedUserMetadata =
|
||||||
jasmine.createSpy('setSettingsInAuthenticatedUserMetadata').and.returnValue(of(true));
|
jasmine.createSpy('setSettingsInAuthenticatedUserMetadata').and.returnValue(of('metadata'));
|
||||||
|
|
||||||
const settings: AccessibilitySettings = {
|
const settings: AccessibilitySettings = {
|
||||||
notificationTimeOut: '1000',
|
notificationTimeOut: '1000',
|
||||||
@@ -280,11 +281,11 @@ describe('accessibilitySettingsService', () => {
|
|||||||
expect(service.setSettingsInMetadata).toHaveBeenCalled();
|
expect(service.setSettingsInMetadata).toHaveBeenCalled();
|
||||||
}));
|
}));
|
||||||
|
|
||||||
it('should emit false when the user is not authenticated', fakeAsync(() => {
|
it('should emit "failed" when the user is not authenticated', fakeAsync(() => {
|
||||||
authService.getAuthenticatedUserFromStoreIfAuthenticated = jasmine.createSpy().and.returnValue(of(null));
|
authService.getAuthenticatedUserFromStoreIfAuthenticated = jasmine.createSpy().and.returnValue(of(null));
|
||||||
|
|
||||||
service.setSettingsInAuthenticatedUserMetadata({})
|
service.setSettingsInAuthenticatedUserMetadata({})
|
||||||
.subscribe(value => expect(value).toBeFalse());
|
.subscribe(value => expect(value).toEqual('failed'));
|
||||||
flush();
|
flush();
|
||||||
|
|
||||||
expect(service.setSettingsInMetadata).not.toHaveBeenCalled();
|
expect(service.setSettingsInMetadata).not.toHaveBeenCalled();
|
||||||
@@ -320,23 +321,23 @@ describe('accessibilitySettingsService', () => {
|
|||||||
expect(ePersonService.patch).toHaveBeenCalled();
|
expect(ePersonService.patch).toHaveBeenCalled();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should emit true when the update succeeded', fakeAsync(() => {
|
it('should emit "metadata" when the update succeeded', fakeAsync(() => {
|
||||||
ePersonService.patch = jasmine.createSpy().and.returnValue(createSuccessfulRemoteDataObject$({}));
|
ePersonService.patch = jasmine.createSpy().and.returnValue(createSuccessfulRemoteDataObject$({}));
|
||||||
|
|
||||||
service.setSettingsInMetadata(ePerson, { ['liveRegionTimeOut']: '500' })
|
service.setSettingsInMetadata(ePerson, { ['liveRegionTimeOut']: '500' })
|
||||||
.subscribe(value => {
|
.subscribe(value => {
|
||||||
expect(value).toBeTrue();
|
expect(value).toEqual('metadata');
|
||||||
});
|
});
|
||||||
|
|
||||||
flush();
|
flush();
|
||||||
}));
|
}));
|
||||||
|
|
||||||
it('should emit false when the update failed', fakeAsync(() => {
|
it('should emit "failed" when the update failed', fakeAsync(() => {
|
||||||
ePersonService.patch = jasmine.createSpy().and.returnValue(createFailedRemoteDataObject$());
|
ePersonService.patch = jasmine.createSpy().and.returnValue(createFailedRemoteDataObject$());
|
||||||
|
|
||||||
service.setSettingsInMetadata(ePerson, { ['liveRegionTimeOut']: '500' })
|
service.setSettingsInMetadata(ePerson, { ['liveRegionTimeOut']: '500' })
|
||||||
.subscribe(value => {
|
.subscribe(value => {
|
||||||
expect(value).toBeFalse();
|
expect(value).toEqual('failed');
|
||||||
});
|
});
|
||||||
|
|
||||||
flush();
|
flush();
|
||||||
@@ -349,16 +350,20 @@ describe('accessibilitySettingsService', () => {
|
|||||||
cookieService.remove = jasmine.createSpy('remove');
|
cookieService.remove = jasmine.createSpy('remove');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should store the settings in a cookie', () => {
|
it('should store the settings in a cookie', fakeAsync(() => {
|
||||||
service.setSettingsInCookie({ ['liveRegionTimeOut']: '500' });
|
service.setSettingsInCookie({ ['liveRegionTimeOut']: '500' }).subscribe();
|
||||||
|
flush();
|
||||||
expect(cookieService.set).toHaveBeenCalled();
|
expect(cookieService.set).toHaveBeenCalled();
|
||||||
});
|
}));
|
||||||
|
|
||||||
|
it('should remove the cookie when the settings are empty', fakeAsync(() => {
|
||||||
|
service.setSettingsInCookie({}).subscribe();
|
||||||
|
|
||||||
|
flush();
|
||||||
|
|
||||||
it('should remove the cookie when the settings are empty', () => {
|
|
||||||
service.setSettingsInCookie({});
|
|
||||||
expect(cookieService.set).not.toHaveBeenCalled();
|
expect(cookieService.set).not.toHaveBeenCalled();
|
||||||
expect(cookieService.remove).toHaveBeenCalled();
|
expect(cookieService.remove).toHaveBeenCalled();
|
||||||
});
|
}));
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('convertFormValuesToStoredValues', () => {
|
describe('convertFormValuesToStoredValues', () => {
|
||||||
|
Reference in New Issue
Block a user