From 92848ff399b1fcac9c32f3d5ae84228afa4b2016 Mon Sep 17 00:00:00 2001 From: bnymncoskuner Date: Tue, 13 Jul 2021 15:08:17 +0300 Subject: [PATCH] test: fix broken tests --- .../src/lib/tests/api.interceptor.spec.ts | 6 +++- .../lib/tests/config-state.service.spec.ts | 6 ++-- .../core/src/lib/tests/date-utils.spec.ts | 2 +- .../src/lib/tests/multi-tenancy-utils.spec.ts | 32 +++++++++++-------- 4 files changed, 29 insertions(+), 17 deletions(-) diff --git a/npm/ng-packs/packages/core/src/lib/tests/api.interceptor.spec.ts b/npm/ng-packs/packages/core/src/lib/tests/api.interceptor.spec.ts index ab289ddd9a..f731e4e7e5 100644 --- a/npm/ng-packs/packages/core/src/lib/tests/api.interceptor.spec.ts +++ b/npm/ng-packs/packages/core/src/lib/tests/api.interceptor.spec.ts @@ -5,6 +5,7 @@ import { OAuthService } from 'angular-oauth2-oidc'; import { Subject, timer } from 'rxjs'; import { ApiInterceptor } from '../interceptors'; import { HttpWaitService, SessionStateService } from '../services'; +import { TENANT_KEY } from '../tokens/tenant-key.token'; describe('ApiInterceptor', () => { let spectator: SpectatorService; @@ -13,9 +14,12 @@ describe('ApiInterceptor', () => { let sessionState: SpyObject; let httpWaitService: SpyObject; + const testTenantKey = 'TEST_TENANT_KEY'; + const createService = createServiceFactory({ service: ApiInterceptor, mocks: [OAuthService, SessionStateService], + providers: [{ provide: TENANT_KEY, useValue: testTenantKey }], }); beforeEach(() => { @@ -38,7 +42,7 @@ describe('ApiInterceptor', () => { handle: (req: HttpRequest) => { expect(req.headers.get('Authorization')).toEqual('Bearer ey892mkwa8^2jk'); expect(req.headers.get('Accept-Language')).toEqual('tr'); - expect(req.headers.get('__tenant')).toEqual('Volosoft'); + expect(req.headers.get(testTenantKey)).toEqual('Volosoft'); done(); return handleRes$; }, diff --git a/npm/ng-packs/packages/core/src/lib/tests/config-state.service.spec.ts b/npm/ng-packs/packages/core/src/lib/tests/config-state.service.spec.ts index 8f13beddf3..dad7a2c524 100644 --- a/npm/ng-packs/packages/core/src/lib/tests/config-state.service.spec.ts +++ b/npm/ng-packs/packages/core/src/lib/tests/config-state.service.spec.ts @@ -5,8 +5,9 @@ import { CurrentUserDto, } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models'; import { ConfigStateService } from '../services'; +import { CoreTestingModule } from '@abp/ng.core/testing'; -export const CONFIG_STATE_DATA = ({ +export const CONFIG_STATE_DATA = { environment: { production: false, application: { @@ -97,7 +98,7 @@ export const CONFIG_STATE_DATA = ({ }, }, registerLocaleFn: () => Promise.resolve(), -} as any) as ApplicationConfigurationDto; +} as any as ApplicationConfigurationDto; describe('ConfigState', () => { let spectator: SpectatorService; @@ -105,6 +106,7 @@ describe('ConfigState', () => { const createService = createServiceFactory({ service: ConfigStateService, + imports: [CoreTestingModule.withConfig()], }); beforeEach(() => { diff --git a/npm/ng-packs/packages/core/src/lib/tests/date-utils.spec.ts b/npm/ng-packs/packages/core/src/lib/tests/date-utils.spec.ts index 764882847b..0bfebd2bcb 100644 --- a/npm/ng-packs/packages/core/src/lib/tests/date-utils.spec.ts +++ b/npm/ng-packs/packages/core/src/lib/tests/date-utils.spec.ts @@ -15,7 +15,7 @@ describe('Date Utils', () => { let config: ConfigStateService; beforeEach(() => { - config = new ConfigStateService(); + config = new ConfigStateService(null); }); describe('#getShortDateFormat', () => { diff --git a/npm/ng-packs/packages/core/src/lib/tests/multi-tenancy-utils.spec.ts b/npm/ng-packs/packages/core/src/lib/tests/multi-tenancy-utils.spec.ts index 66188f0bb3..5e49b64d22 100644 --- a/npm/ng-packs/packages/core/src/lib/tests/multi-tenancy-utils.spec.ts +++ b/npm/ng-packs/packages/core/src/lib/tests/multi-tenancy-utils.spec.ts @@ -1,14 +1,15 @@ import { Component } from '@angular/core'; import { createComponentFactory, Spectator } from '@ngneat/spectator/jest'; import clone from 'just-clone'; -import { BehaviorSubject } from 'rxjs'; -import { AbpTenantService } from '../proxy/pages/abp/multi-tenancy/abp-tenant.service'; +import { of } from 'rxjs'; + import { CurrentTenantDto, FindTenantResultDto, } from '../proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models'; import { EnvironmentService, MultiTenancyService } from '../services'; import { parseTenantFromUrl } from '../utils'; +import { TENANT_KEY } from '../tokens'; const environment = { production: false, @@ -45,6 +46,8 @@ const setHref = url => { }); }; +const testTenantKey = 'TEST_TENANT_KEY'; + @Component({ selector: 'abp-dummy', template: '', @@ -56,7 +59,7 @@ describe('MultiTenancyUtils', () => { const createComponent = createComponentFactory({ component: DummyComponent, mocks: [EnvironmentService, MultiTenancyService], - providers: [{ provide: AbpTenantService, useValue: { findTenantByName: () => {} } }], + providers: [{ provide: TENANT_KEY, useValue: testTenantKey }], }); beforeEach(() => (spectator = createComponent())); @@ -65,27 +68,30 @@ describe('MultiTenancyUtils', () => { test('should get the tenancyName, set replaced environment and call the findTenantByName method of AbpTenantService', async () => { const environmentService = spectator.inject(EnvironmentService); const multiTenancyService = spectator.inject(MultiTenancyService); - const abpTenantService = spectator.inject(AbpTenantService); - const findTenantByNameSpy = jest.spyOn(abpTenantService, 'findTenantByName'); + const setTenantByName = jest.spyOn(multiTenancyService, 'setTenantByName'); const getEnvironmentSpy = jest.spyOn(environmentService, 'getEnvironment'); const setStateSpy = jest.spyOn(environmentService, 'setState'); getEnvironmentSpy.mockReturnValue(clone(environment)); + const testTenant: FindTenantResultDto = { + name: 'abp', + tenantId: '1', + isActive: true, + success: true, + }; + setHref('https://abp.volosoft.com/'); - findTenantByNameSpy.mockReturnValue( - new BehaviorSubject({ name: 'abp', tenantId: '1', success: true } as FindTenantResultDto), - ); + setTenantByName.mockReturnValue(of(testTenant)); const mockInjector = { get: arg => { if (arg === EnvironmentService) return environmentService; - if (arg === AbpTenantService) return abpTenantService; if (arg === MultiTenancyService) return multiTenancyService; }, }; - parseTenantFromUrl(mockInjector); + await parseTenantFromUrl(mockInjector); const replacedEnv = { ...environment, @@ -106,10 +112,10 @@ describe('MultiTenancyUtils', () => { }; expect(setStateSpy).toHaveBeenCalledWith(replacedEnv); - expect(findTenantByNameSpy).toHaveBeenCalledWith('abp', { __tenant: '' }); expect(multiTenancyService.domainTenant).toEqual({ - id: '1', - name: 'abp', + id: testTenant.tenantId, + name: testTenant.name, + isAvailable: true, } as CurrentTenantDto); }); });