From 92749a5f99fc19b1e8ccb643146173fb0db40479 Mon Sep 17 00:00:00 2001 From: Mehmet Erim Date: Thu, 11 Nov 2021 14:10:07 +0300 Subject: [PATCH] fix testing errors --- .../replaceable-template.directive.ts | 2 +- .../src/lib/tests/environment.service.spec.ts | 2 +- .../replaceable-template.directive.spec.ts | 9 ++++++- .../src/lib/tests/lazy-style.handler.spec.ts | 24 ++++--------------- .../extensions/src/tests/entity-props.spec.ts | 2 +- .../extensions/src/tests/form-props.spec.ts | 10 ++++---- .../src/tests/toolbar-actions.spec.ts | 6 ++--- .../lib/tests/breadcrumb.component.spec.ts | 4 ++-- .../src/lib/tests/button.component.spec.ts | 4 ---- .../src/lib/tests/error.handler.spec.ts | 2 +- .../lib/tests/loader-bar.component.spec.ts | 9 ++++--- 11 files changed, 32 insertions(+), 42 deletions(-) rename npm/ng-packs/packages/{theme-shared => theme-basic}/src/lib/tests/lazy-style.handler.spec.ts (67%) diff --git a/npm/ng-packs/packages/core/src/lib/directives/replaceable-template.directive.ts b/npm/ng-packs/packages/core/src/lib/directives/replaceable-template.directive.ts index 5a96ada9a9..6e9f85cac6 100644 --- a/npm/ng-packs/packages/core/src/lib/directives/replaceable-template.directive.ts +++ b/npm/ng-packs/packages/core/src/lib/directives/replaceable-template.directive.ts @@ -132,7 +132,7 @@ export class ReplaceableTemplateDirective implements OnInit, OnChanges { } setProvidedData() { - this.providedData = { ...this.data, inputs: {}, outputs: {} }; + this.providedData = { outputs: {}, ...this.data, inputs: {} }; if (!this.data.inputs) return; Object.defineProperties(this.providedData.inputs, { diff --git a/npm/ng-packs/packages/core/src/lib/tests/environment.service.spec.ts b/npm/ng-packs/packages/core/src/lib/tests/environment.service.spec.ts index 9316c88f8c..97ce47d2c9 100644 --- a/npm/ng-packs/packages/core/src/lib/tests/environment.service.spec.ts +++ b/npm/ng-packs/packages/core/src/lib/tests/environment.service.spec.ts @@ -54,7 +54,7 @@ describe('Environment', () => { it( 'should return api url', waitForAsync(() => { - expect(environment.getApiUrl()).toEqual(ENVIRONMENT_DATA.apis.default.url); + expect(environment.getApiUrl('default')).toEqual(ENVIRONMENT_DATA.apis.default.url); environment .getApiUrl$('other') .subscribe(data => expect(data).toEqual(ENVIRONMENT_DATA.apis.other.url)); diff --git a/npm/ng-packs/packages/core/src/lib/tests/replaceable-template.directive.spec.ts b/npm/ng-packs/packages/core/src/lib/tests/replaceable-template.directive.spec.ts index 38ebd34428..5e387ace2c 100644 --- a/npm/ng-packs/packages/core/src/lib/tests/replaceable-template.directive.spec.ts +++ b/npm/ng-packs/packages/core/src/lib/tests/replaceable-template.directive.spec.ts @@ -65,7 +65,14 @@ describe('ReplaceableTemplateDirective', () => { `, - { hostProps: { oneWay: { label: 'Test' }, twoWay: false, twoWayChange, someOutput } }, + { + hostProps: { + oneWay: { label: 'Test' }, + twoWay: false, + twoWayChange, + someOutput, + }, + }, ); const component = spectator.query(DefaultComponent); diff --git a/npm/ng-packs/packages/theme-shared/src/lib/tests/lazy-style.handler.spec.ts b/npm/ng-packs/packages/theme-basic/src/lib/tests/lazy-style.handler.spec.ts similarity index 67% rename from npm/ng-packs/packages/theme-shared/src/lib/tests/lazy-style.handler.spec.ts rename to npm/ng-packs/packages/theme-basic/src/lib/tests/lazy-style.handler.spec.ts index ea02893f90..dec4744a6c 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/tests/lazy-style.handler.spec.ts +++ b/npm/ng-packs/packages/theme-basic/src/lib/tests/lazy-style.handler.spec.ts @@ -1,8 +1,8 @@ import { LazyLoadService, LOADING_STRATEGY, LocalizationService } from '@abp/ng.core'; +import { DocumentDirHandlerService } from '@abp/ng.theme.shared'; import { createServiceFactory, SpectatorService } from '@ngneat/spectator/jest'; -import { EMPTY, of } from 'rxjs'; -import { BOOTSTRAP } from '../constants/styles'; -import { createLazyStyleHref, initLazyStyleHandler, LazyStyleHandler } from '../handlers'; +import { of } from 'rxjs'; +import { BOOTSTRAP, createLazyStyleHref, LazyStyleHandler } from '../handlers'; const languageChange$ = of({ payload: 'en' }); @@ -14,6 +14,7 @@ describe('LazyStyleHandler', () => { const createService = createServiceFactory({ service: LazyStyleHandler, providers: [ + DocumentDirHandlerService, { provide: LocalizationService, useValue: { currentLang: 'en', languageChange$ }, @@ -47,20 +48,3 @@ describe('LazyStyleHandler', () => { }); }); }); - -describe('initLazyStyleHandler', () => { - it('should return a LazyStyleHandler factory', () => { - const generator = (function* () { - yield undefined; // LAZY_STYLES - yield { loaded: new Map() }; // LazyLoadService - yield { currentLang: 'en', languageChange$: EMPTY }; // LocalizationService - })(); - - const injector = { - get: () => generator.next().value as any, - }; - const factory = initLazyStyleHandler(injector); - - expect(factory()).toBeInstanceOf(LazyStyleHandler); - }); -}); diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/tests/entity-props.spec.ts b/npm/ng-packs/packages/theme-shared/extensions/src/tests/entity-props.spec.ts index faccbf53b2..8de503c5f0 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/tests/entity-props.spec.ts +++ b/npm/ng-packs/packages/theme-shared/extensions/src/tests/entity-props.spec.ts @@ -101,7 +101,7 @@ describe('EntityProp', () => { expect(prop.displayName).toBe(options.displayName); expect(prop.permission).toBe(options.permission); expect(prop.visible()).toBe(options.visible()); - expect(prop.valueResolver()).toBe(options.valueResolver()); + expect(prop.valueResolver(null)).toBe(options.valueResolver()); expect(prop.sortable).toBe(options.sortable); expect(prop.columnWidth).toBe(options.columnWidth); }); diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/tests/form-props.spec.ts b/npm/ng-packs/packages/theme-shared/extensions/src/tests/form-props.spec.ts index a7ad56aca9..bd933741a5 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/tests/form-props.spec.ts +++ b/npm/ng-packs/packages/theme-shared/extensions/src/tests/form-props.spec.ts @@ -106,13 +106,13 @@ describe('FormProp', () => { expect(prop.displayName).toBe(options.displayName); expect(prop.permission).toBe(options.permission); expect(prop.visible()).toBe(options.visible()); - expect(prop.asyncValidators()).toEqual(options.asyncValidators()); - expect(prop.validators()).toEqual(options.validators()); + expect(prop.asyncValidators(null)).toEqual(options.asyncValidators()); + expect(prop.validators(null)).toEqual(options.validators()); expect(prop.disabled()).toBe(options.disabled()); expect(prop.readonly()).toBe(options.readonly()); expect(prop.autocomplete).toBe(options.autocomplete); expect(prop.defaultValue).toBe(options.defaultValue); - expect(prop.options()).toBe(options.options()); + expect(prop.options(null)).toBe(options.options()); expect(prop.id).toBe(options.id); }); @@ -129,8 +129,8 @@ describe('FormProp', () => { expect(prop.displayName).toBe(options.name); expect(prop.permission).toBeUndefined(); expect(prop.visible()).toBe(true); - expect(prop.asyncValidators()).toEqual([]); - expect(prop.validators()).toEqual([]); + expect(prop.asyncValidators(null)).toEqual([]); + expect(prop.validators(null)).toEqual([]); expect(prop.disabled()).toBe(false); expect(prop.readonly()).toBe(false); expect(prop.autocomplete).toBe('off'); diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/tests/toolbar-actions.spec.ts b/npm/ng-packs/packages/theme-shared/extensions/src/tests/toolbar-actions.spec.ts index a966628a56..0b6c5184e8 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/tests/toolbar-actions.spec.ts +++ b/npm/ng-packs/packages/theme-shared/extensions/src/tests/toolbar-actions.spec.ts @@ -108,7 +108,7 @@ describe('ToolbarAction', () => { expect(action.text).toBe(options.text); expect(action.action).toBe(options.action); - expect(action.permission).toBeUndefined(); + expect(action.permission).toBe(''); expect(action.visible(null)).toBe(true); expect(action.icon).toBe(''); }); @@ -178,8 +178,8 @@ describe('ToolbarComponent', () => { const action = new ToolbarComponent(options); expect(action.component).toBe(options.component); - expect(action.action()).toBeUndefined(); - expect(action.permission).toBeUndefined(); + expect(action.action(null)).toBeUndefined(); + expect(action.permission).toBe(''); expect(action.visible()).toBe(true); }); diff --git a/npm/ng-packs/packages/theme-shared/src/lib/tests/breadcrumb.component.spec.ts b/npm/ng-packs/packages/theme-shared/src/lib/tests/breadcrumb.component.spec.ts index 480ec03f37..bf06105b27 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/tests/breadcrumb.component.spec.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/tests/breadcrumb.component.spec.ts @@ -10,7 +10,7 @@ import { RouterModule } from '@angular/router'; import { createRoutingFactory, SpectatorRouting } from '@ngneat/spectator/jest'; // eslint-disable-next-line @nrwl/nx/enforce-module-boundaries import { mockRoutesService } from '../../../../core/src/lib/tests/routes.service.spec'; -import { BreadcrumbComponent } from '../components/breadcrumb/breadcrumb.component'; +import { BreadcrumbComponent, BreadcrumbItemsComponent } from '../components'; const mockRoutes: ABP.Route[] = [ { name: 'Identity', path: '/identity' }, @@ -33,7 +33,7 @@ describe('BreadcrumbComponent', () => { useFactory: () => mockRoutesService(), }, ], - declarations: [LocalizationPipe, BreadcrumbComponent], + declarations: [LocalizationPipe, BreadcrumbComponent, BreadcrumbItemsComponent], imports: [RouterModule], routes: [ { diff --git a/npm/ng-packs/packages/theme-shared/src/lib/tests/button.component.spec.ts b/npm/ng-packs/packages/theme-shared/src/lib/tests/button.component.spec.ts index 32c75dafb1..bf834d182d 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/tests/button.component.spec.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/tests/button.component.spec.ts @@ -52,8 +52,4 @@ describe('ButtonComponent', () => { spectator.detectComponentChanges(); expect(spectator.query('[disabled]')).toBeTruthy(); }); - - it('should disabled when the loading input is true', () => { - expect(spectator.query('[autofocus][name="abp-button"]')).toBeTruthy(); - }); }); diff --git a/npm/ng-packs/packages/theme-shared/src/lib/tests/error.handler.spec.ts b/npm/ng-packs/packages/theme-shared/src/lib/tests/error.handler.spec.ts index 47771f15c4..e6564ea99f 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/tests/error.handler.spec.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/tests/error.handler.spec.ts @@ -192,7 +192,7 @@ describe('ErrorHandler', () => { key: DEFAULT_ERROR_LOCALIZATIONS.defaultError.title, defaultValue: DEFAULT_ERROR_MESSAGES.defaultError.title, }, - null, + '', CONFIRMATION_BUTTONS, ); }); diff --git a/npm/ng-packs/packages/theme-shared/src/lib/tests/loader-bar.component.spec.ts b/npm/ng-packs/packages/theme-shared/src/lib/tests/loader-bar.component.spec.ts index 2326009044..60b9130ece 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/tests/loader-bar.component.spec.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/tests/loader-bar.component.spec.ts @@ -1,9 +1,9 @@ +import { HttpWaitService, LOADER_DELAY, SubscriptionService } from '@abp/ng.core'; +import { HttpRequest } from '@angular/common/http'; import { NavigationEnd, NavigationError, NavigationStart, Router } from '@angular/router'; import { createComponentFactory, Spectator, SpyObject } from '@ngneat/spectator/jest'; import { Subject, timer } from 'rxjs'; import { LoaderBarComponent } from '../components/loader-bar/loader-bar.component'; -import { HttpWaitService, LOADER_DELAY, SubscriptionService } from '@abp/ng.core'; -import { HttpRequest } from '@angular/common/http'; describe('LoaderBarComponent', () => { let spectator: Spectator; @@ -44,10 +44,13 @@ describe('LoaderBarComponent', () => { }); it('should be interval unsubscribed', done => { + const request = new HttpRequest('GET', 'test'); + spectator.detectChanges(); const httpWaitService = spectator.inject(HttpWaitService); - httpWaitService.addRequest(new HttpRequest('GET', 'test')); + httpWaitService.addRequest(request); expect(spectator.component.interval.closed).toBe(false); + httpWaitService.deleteRequest(request); timer(400).subscribe(() => { expect(spectator.component.interval.closed).toBe(true); done();