mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 01:54:15 +00:00
72541: Additional tests and fixes
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
import { EndUserAgreementService } from './end-user-agreement.service';
|
||||
import { Router, UrlTree } from '@angular/router';
|
||||
import { AuthService } from '../auth/auth.service';
|
||||
import { EndUserAgreementCookieGuard } from './end-user-agreement-cookie.guard';
|
||||
|
||||
describe('EndUserAgreementCookieGuard', () => {
|
||||
let guard: EndUserAgreementCookieGuard;
|
||||
|
||||
let endUserAgreementService: EndUserAgreementService;
|
||||
let authService: AuthService;
|
||||
let router: Router;
|
||||
|
||||
beforeEach(() => {
|
||||
endUserAgreementService = jasmine.createSpyObj('endUserAgreementService', {
|
||||
isCookieAccepted: true
|
||||
});
|
||||
authService = jasmine.createSpyObj('authService', ['setRedirectUrl']);
|
||||
router = jasmine.createSpyObj('router', {
|
||||
navigateByUrl: {},
|
||||
parseUrl: new UrlTree()
|
||||
});
|
||||
|
||||
guard = new EndUserAgreementCookieGuard(endUserAgreementService, authService, router);
|
||||
});
|
||||
|
||||
describe('canActivate', () => {
|
||||
describe('when the cookie has been accepted', () => {
|
||||
it('should return true', (done) => {
|
||||
guard.canActivate(undefined, undefined).subscribe((result) => {
|
||||
expect(result).toEqual(true);
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('when the cookie hasn\'t been accepted', () => {
|
||||
beforeEach(() => {
|
||||
(endUserAgreementService.isCookieAccepted as jasmine.Spy).and.returnValue(false);
|
||||
});
|
||||
|
||||
it('should navigate the user with a redirect url', (done) => {
|
||||
const redirect = 'redirect/url';
|
||||
guard.canActivate(undefined, Object.assign({ url: redirect })).subscribe(() => {
|
||||
expect(authService.setRedirectUrl).toHaveBeenCalledWith(redirect);
|
||||
expect(router.navigateByUrl).toHaveBeenCalled();
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
@@ -47,8 +47,8 @@ describe('EndUserAgreementService', () => {
|
||||
cookie.set(END_USER_AGREEMENT_COOKIE, true);
|
||||
});
|
||||
|
||||
it('hasCurrentUserAcceptedAgreement should return true', (done) => {
|
||||
service.hasCurrentUserAcceptedAgreement().subscribe((result) => {
|
||||
it('hasCurrentUserOrCookieAcceptedAgreement should return true', (done) => {
|
||||
service.hasCurrentUserOrCookieAcceptedAgreement(false).subscribe((result) => {
|
||||
expect(result).toEqual(true);
|
||||
done();
|
||||
});
|
||||
@@ -75,8 +75,8 @@ describe('EndUserAgreementService', () => {
|
||||
(authService.getAuthenticatedUserFromStore as jasmine.Spy).and.returnValue(observableOf(userWithMetadata));
|
||||
});
|
||||
|
||||
it('hasCurrentUserAcceptedAgreement should return true', (done) => {
|
||||
service.hasCurrentUserAcceptedAgreement().subscribe((result) => {
|
||||
it('hasCurrentUserOrCookieAcceptedAgreement should return true', (done) => {
|
||||
service.hasCurrentUserOrCookieAcceptedAgreement(false).subscribe((result) => {
|
||||
expect(result).toEqual(true);
|
||||
done();
|
||||
});
|
||||
@@ -88,8 +88,8 @@ describe('EndUserAgreementService', () => {
|
||||
(authService.getAuthenticatedUserFromStore as jasmine.Spy).and.returnValue(observableOf(userWithoutMetadata));
|
||||
});
|
||||
|
||||
it('hasCurrentUserAcceptedAgreement should return false', (done) => {
|
||||
service.hasCurrentUserAcceptedAgreement().subscribe((result) => {
|
||||
it('hasCurrentUserOrCookieAcceptedAgreement should return false', (done) => {
|
||||
service.hasCurrentUserOrCookieAcceptedAgreement(false).subscribe((result) => {
|
||||
expect(result).toEqual(false);
|
||||
done();
|
||||
});
|
||||
@@ -117,8 +117,8 @@ describe('EndUserAgreementService', () => {
|
||||
(authService.isAuthenticated as jasmine.Spy).and.returnValue(observableOf(false));
|
||||
});
|
||||
|
||||
it('hasCurrentUserAcceptedAgreement should return false', (done) => {
|
||||
service.hasCurrentUserAcceptedAgreement().subscribe((result) => {
|
||||
it('hasCurrentUserOrCookieAcceptedAgreement should return false', (done) => {
|
||||
service.hasCurrentUserOrCookieAcceptedAgreement(false).subscribe((result) => {
|
||||
expect(result).toEqual(false);
|
||||
done();
|
||||
});
|
||||
|
@@ -27,7 +27,7 @@ describe('EndUserAgreementComponent', () => {
|
||||
redirectUrl = 'redirect/url';
|
||||
|
||||
endUserAgreementService = jasmine.createSpyObj('endUserAgreementService', {
|
||||
hasCurrentUserAcceptedAgreement: observableOf(false),
|
||||
hasCurrentUserOrCookieAcceptedAgreement : observableOf(false),
|
||||
setUserAcceptedAgreement: observableOf(true)
|
||||
});
|
||||
notificationsService = jasmine.createSpyObj('notificationsService', ['success', 'error']);
|
||||
@@ -63,7 +63,7 @@ describe('EndUserAgreementComponent', () => {
|
||||
|
||||
describe('when the user hasn\'t accepted the agreement', () => {
|
||||
beforeEach(() => {
|
||||
(endUserAgreementService.hasCurrentUserAcceptedAgreement as jasmine.Spy).and.returnValue(observableOf(false));
|
||||
(endUserAgreementService.hasCurrentUserOrCookieAcceptedAgreement as jasmine.Spy).and.returnValue(observableOf(false));
|
||||
component.ngOnInit();
|
||||
fixture.detectChanges();
|
||||
});
|
||||
@@ -80,7 +80,7 @@ describe('EndUserAgreementComponent', () => {
|
||||
|
||||
describe('when the user has accepted the agreement', () => {
|
||||
beforeEach(() => {
|
||||
(endUserAgreementService.hasCurrentUserAcceptedAgreement as jasmine.Spy).and.returnValue(observableOf(true));
|
||||
(endUserAgreementService.hasCurrentUserOrCookieAcceptedAgreement as jasmine.Spy).and.returnValue(observableOf(true));
|
||||
component.ngOnInit();
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
Reference in New Issue
Block a user