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