Browse Source

fix tests

pull/17706/head
Sinan997 3 years ago
parent
commit
eb5f294d92
  1. 9
      npm/ng-packs/packages/oauth/src/lib/tests/api.interceptor.spec.ts
  2. 12
      npm/ng-packs/packages/oauth/src/lib/tests/auth.guard.spec.ts
  3. 38
      npm/ng-packs/packages/theme-shared/extensions/src/tests/enum.util.spec.ts

9
npm/ng-packs/packages/oauth/src/lib/tests/api.interceptor.spec.ts

@ -3,11 +3,12 @@ import { SpyObject } from '@ngneat/spectator';
import { createServiceFactory, SpectatorService } from '@ngneat/spectator/jest';
import { OAuthService } from 'angular-oauth2-oidc';
import { Subject, timer } from 'rxjs';
import { ApiInterceptor, HttpWaitService, SessionStateService, TENANT_KEY } from '@abp/ng.core';
import { HttpWaitService, SessionStateService, TENANT_KEY } from '@abp/ng.core';
import { OAuthApiInterceptor } from '../interceptors';
describe('ApiInterceptor', () => {
let spectator: SpectatorService<ApiInterceptor>;
let interceptor: ApiInterceptor;
let spectator: SpectatorService<OAuthApiInterceptor>;
let interceptor: OAuthApiInterceptor;
let oauthService: SpyObject<OAuthService>;
let sessionState: SpyObject<SessionStateService>;
let httpWaitService: SpyObject<HttpWaitService>;
@ -15,7 +16,7 @@ describe('ApiInterceptor', () => {
const testTenantKey = 'TEST_TENANT_KEY';
const createService = createServiceFactory({
service: ApiInterceptor,
service: OAuthApiInterceptor,
mocks: [OAuthService, SessionStateService],
providers: [{ provide: TENANT_KEY, useValue: testTenantKey }],
});

12
npm/ng-packs/packages/oauth/src/lib/tests/auth.guard.spec.ts

@ -1,11 +1,15 @@
import { createServiceFactory, SpectatorService } from '@ngneat/spectator/jest';
import { createServiceFactory, SpectatorService, createSpyObject } from '@ngneat/spectator/jest';
import { OAuthService } from 'angular-oauth2-oidc';
import { AbpOAuthGuard } from '../guards/oauth.guard';
import { AuthService } from '@abp/ng.core';
import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
describe('AuthGuard', () => {
let spectator: SpectatorService<AbpOAuthGuard>;
let guard: AbpOAuthGuard;
let guard : AbpOAuthGuard;
let route = createSpyObject<ActivatedRouteSnapshot>(ActivatedRouteSnapshot)
let state = createSpyObject<RouterStateSnapshot>(RouterStateSnapshot)
const createService = createServiceFactory({
service: AbpOAuthGuard,
mocks: [OAuthService, AuthService],
@ -18,7 +22,7 @@ describe('AuthGuard', () => {
it('should return true when user logged in', () => {
spectator.inject(OAuthService).hasValidAccessToken.andReturn(true);
expect(guard.canActivate()).toBe(true);
expect(guard.canActivate(route, state)).toBe(true);
});
it('should execute the navigateToLogin method of the authService', () => {
@ -26,7 +30,7 @@ describe('AuthGuard', () => {
spectator.inject(OAuthService).hasValidAccessToken.andReturn(false);
const navigateToLoginSpy = jest.spyOn(authService, 'navigateToLogin');
expect(guard.canActivate()).toBe(false);
expect(guard.canActivate(route, state)).toBe(false);
expect(navigateToLoginSpy).toHaveBeenCalled();
});
});

38
npm/ng-packs/packages/theme-shared/extensions/src/tests/enum.util.spec.ts

@ -1,8 +1,11 @@
import { ConfigStateService, LocalizationService } from '@abp/ng.core';
import { ConfigStateService, ExtensionEnumFieldDto, LocalizationService } from '@abp/ng.core';
import { BehaviorSubject, of } from 'rxjs';
import { take } from 'rxjs/operators';
import { PropData } from '../lib/models/props';
import { createEnum, createEnumOptions, createEnumValueResolver } from '../lib/utils/enum.util';
import { createSpyObject } from '@ngneat/spectator'
import { AbpApplicationLocalizationService } from '@abp/ng.core';
const mockSessionState = {
languageChange$: new BehaviorSubject('tr'),
@ -11,10 +14,10 @@ const mockSessionState = {
onLanguageChange$: () => new BehaviorSubject('tr'),
} as any;
const fields = [
{ name: 'foo', value: 1 },
{ name: 'bar', value: 2 },
{ name: 'baz', value: 3 },
const fields: ExtensionEnumFieldDto[] = [
{ name: 'foo', value: {number: 1} },
{ name: 'bar', value: {number: 2} },
{ name: 'baz', value: {number: 3} },
];
class MockPropData<R = any> extends PropData<R> {
@ -42,17 +45,13 @@ describe('Enum Utils', () => {
describe('#createEnum', () => {
const enumFromFields = createEnum(fields);
test.each`
key | expected
${'foo'} | ${1}
${'bar'} | ${2}
${'baz'} | ${3}
${1} | ${'foo'}
${2} | ${'bar'}
${3} | ${'baz'}
`('should create an enum that returns $expected when $key is accessed', ({ key, expected }) => {
expect(enumFromFields[key]).toBe(expected);
});
test.each([
{name:'foo', value: 'number', expected: 1},
{name:'bar', value: 'number', expected: 2},
{name:'baz', value: 'number', expected: 3}
])('',({name, value, expected})=>{
expect(enumFromFields[name][value]).toBe(expected);
})
});
describe('#createEnumValueResolver', () => {
@ -75,7 +74,7 @@ describe('Enum Utils', () => {
'EnumProp',
);
const propData = new MockPropData({
extraProperties: { EnumProp: value },
extraProperties: { EnumProp: value },
});
propData.getInjected = () => service as any;
@ -111,8 +110,9 @@ describe('Enum Utils', () => {
function createMockLocalizationService() {
const fakeAppConfigService = { get: () => of({ localization: mockL10n }) } as any;
const configState = new ConfigStateService(fakeAppConfigService);
let abpApplicationLocalizationService = createSpyObject<AbpApplicationLocalizationService>(AbpApplicationLocalizationService)
const configState = new ConfigStateService(fakeAppConfigService, abpApplicationLocalizationService, true);
configState.refreshAppState();
return new LocalizationService(mockSessionState, null, null, configState);
}
}
Loading…
Cancel
Save