diff --git a/npm/ng-packs/packages/components/src/test-setup.ts b/npm/ng-packs/packages/components/src/test-setup.ts
index 03a1d1d3a7..1e2322cf13 100644
--- a/npm/ng-packs/packages/components/src/test-setup.ts
+++ b/npm/ng-packs/packages/components/src/test-setup.ts
@@ -1,5 +1,6 @@
import 'jest-canvas-mock';
-import 'jest-preset-angular/setup-jest';
+import { setupZoneTestEnv } from 'jest-preset-angular/setup-env/zone';
+setupZoneTestEnv();
import { getTestBed } from '@angular/core/testing';
import {
diff --git a/npm/ng-packs/packages/core/src/lib/tests/permission.directive.spec.ts b/npm/ng-packs/packages/core/src/lib/tests/permission.directive.spec.ts
index a8c0c70000..a2f07e7be9 100644
--- a/npm/ng-packs/packages/core/src/lib/tests/permission.directive.spec.ts
+++ b/npm/ng-packs/packages/core/src/lib/tests/permission.directive.spec.ts
@@ -19,8 +19,8 @@ describe('PermissionDirective', () => {
});
beforeEach(() => {
- spectator = createDirective('
', {
- hostProps: { permission: 'test', requiresAll: false },
+ spectator = createDirective('', {
+ hostProps: { permission: 'test', runCD: false },
});
directive = spectator.directive;
});
@@ -35,8 +35,8 @@ describe('PermissionDirective', () => {
expect(directive).toBeTruthy();
});
- it('should handle requiresAll input', () => {
- spectator.setHostInput({ requiresAll: true });
+ it('should handle runChangeDetection input', () => {
+ spectator.setHostInput({ runCD: true });
spectator.detectChanges();
expect(directive).toBeTruthy();
});
diff --git a/npm/ng-packs/packages/core/src/lib/tests/permission.guard.spec.ts b/npm/ng-packs/packages/core/src/lib/tests/permission.guard.spec.ts
index b15a956144..baddabd3b9 100644
--- a/npm/ng-packs/packages/core/src/lib/tests/permission.guard.spec.ts
+++ b/npm/ng-packs/packages/core/src/lib/tests/permission.guard.spec.ts
@@ -2,14 +2,9 @@ import { APP_BASE_HREF } from '@angular/common';
import { HttpClientTestingModule } from '@angular/common/http/testing';
import { Component } from '@angular/core';
import { provideRouter, Route, Router, RouterModule } from '@angular/router';
-import {
- createServiceFactory,
- createSpyObject,
- SpectatorService,
- SpyObject,
-} from '@ngneat/spectator/jest';
+import { createSpyObject, SpyObject } from '@ngneat/spectator/jest';
import { of } from 'rxjs';
-import { permissionGuard, PermissionGuard } from '../guards/permission.guard';
+import { permissionGuard } from '../guards/permission.guard';
import { HttpErrorReporterService } from '../services/http-error-reporter.service';
import { PermissionService } from '../services/permission.service';
import { RoutesService } from '../services/routes.service';
@@ -24,121 +19,7 @@ import { AuthService } from '../abstracts';
@Component({ template: '' })
class DummyComponent {}
-describe('PermissionGuard', () => {
- let spectator: SpectatorService;
- let guard: PermissionGuard;
- let routes: SpyObject;
- let httpErrorReporter: SpyObject;
- let permissionService: SpyObject;
-
- const mockOAuthService = {
- isAuthenticated: true,
- };
-
- const createService = createServiceFactory({
- service: PermissionGuard,
- mocks: [PermissionService],
- imports: [
- HttpClientTestingModule,
- RouterModule.forRoot([
- {
- path: 'test',
- component: DummyComponent,
- data: {
- requiredPolicy: 'TestPolicy',
- },
- },
- ]),
- DummyComponent,
- ],
- providers: [
- {
- provide: APP_BASE_HREF,
- useValue: '/',
- },
- { provide: AuthService, useValue: mockOAuthService },
- {
- provide: CORE_OPTIONS,
- useValue: {
- skipGetAppConfiguration: true,
- environment: {
- apis: {
- default: {
- url: 'http://localhost:4200',
- },
- },
- application: {
- baseUrl: 'http://localhost:4200',
- name: 'TestApp',
- },
- remoteEnv: {},
- },
- }
- },
- { provide: OTHERS_GROUP, useValue: 'AbpUi::OthersGroup' },
- { provide: SORT_COMPARE_FUNC, useValue: compareFuncFactory },
- IncludeLocalizationResourcesProvider,
- ],
- });
-
- beforeEach(() => {
- spectator = createService();
- guard = spectator.service;
- routes = spectator.inject(RoutesService);
- httpErrorReporter = spectator.inject(HttpErrorReporterService);
- permissionService = spectator.inject(PermissionService);
- });
-
- it('should return true when the grantedPolicy is true', done => {
- permissionService.getGrantedPolicy$.andReturn(of(true));
- const spy = jest.spyOn(httpErrorReporter, 'reportError');
- guard.canActivate({ data: { requiredPolicy: 'test' } } as any, null).subscribe(res => {
- expect(res).toBe(true);
- expect(spy.mock.calls).toHaveLength(0);
- done();
- });
- });
-
- it('should return false and report an error when the grantedPolicy is false', () => {
- permissionService.getGrantedPolicy$.andReturn(of(false));
- const spy = jest.spyOn(httpErrorReporter, 'reportError');
- guard.canActivate({ data: { requiredPolicy: 'test' } } as any, null).subscribe(res => {
- expect(res).toBe(false);
- expect(spy.mock.calls[0][0]).toEqual({
- status: 403,
- });
- });
- expect(guard).toBeTruthy();
- });
-
- it('should check the requiredPolicy from RoutesService', done => {
- routes.add([
- {
- path: '/test',
- name: 'Test',
- requiredPolicy: 'TestPolicy',
- },
- ]);
- permissionService.getGrantedPolicy$.mockImplementation(policy => of(policy === 'TestPolicy'));
- guard.canActivate({ data: {} } as any, { url: 'test' } as any).subscribe(result => {
- expect(result).toBe(true);
- done();
- });
- });
-
- it('should return Observable if RoutesService does not have requiredPolicy for given URL', done => {
- routes.add([
- {
- path: '/test',
- name: 'Test',
- },
- ]);
- guard.canActivate({ data: {} } as any, { url: 'test' } as any).subscribe(result => {
- expect(result).toBe(true);
- done();
- });
- });
-});
+// Removed deprecated class-based PermissionGuard tests; function-based guard is covered below.
describe('authGuard', () => {
let permissionService: SpyObject;
diff --git a/npm/ng-packs/packages/core/src/lib/tests/safe-html.pipe.spec.ts b/npm/ng-packs/packages/core/src/lib/tests/safe-html.pipe.spec.ts
index 34d372ebbb..69ecfeb3a2 100644
--- a/npm/ng-packs/packages/core/src/lib/tests/safe-html.pipe.spec.ts
+++ b/npm/ng-packs/packages/core/src/lib/tests/safe-html.pipe.spec.ts
@@ -27,8 +27,10 @@ describe('SafeHtmlPipe', () => {
});
it('should sanitize unsafe HTML content', () => {
+ const warnSpy = jest.spyOn(console, 'warn').mockImplementation(() => undefined);
const input = `Click here!
`;
const result = pipe.transform(input);
expect(result).toBe(`Click here!
`);
+ warnSpy.mockRestore();
});
});
diff --git a/npm/ng-packs/packages/core/src/test-setup.ts b/npm/ng-packs/packages/core/src/test-setup.ts
index daa5cfc35e..ebbb75f974 100644
--- a/npm/ng-packs/packages/core/src/test-setup.ts
+++ b/npm/ng-packs/packages/core/src/test-setup.ts
@@ -1,4 +1,5 @@
-import 'jest-preset-angular/setup-jest';
+import { setupZoneTestEnv } from 'jest-preset-angular/setup-env/zone';
+setupZoneTestEnv();
import { getTestBed } from '@angular/core/testing';
import {
diff --git a/npm/ng-packs/packages/oauth/src/test-setup.ts b/npm/ng-packs/packages/oauth/src/test-setup.ts
index 1100b3e8a6..4555f138a7 100644
--- a/npm/ng-packs/packages/oauth/src/test-setup.ts
+++ b/npm/ng-packs/packages/oauth/src/test-setup.ts
@@ -1 +1,2 @@
-import 'jest-preset-angular/setup-jest';
+import { setupZoneTestEnv } from 'jest-preset-angular/setup-env/zone';
+setupZoneTestEnv();