Browse Source

fix testing errors

pull/10607/head
Mehmet Erim 5 years ago
parent
commit
92749a5f99
  1. 2
      npm/ng-packs/packages/core/src/lib/directives/replaceable-template.directive.ts
  2. 2
      npm/ng-packs/packages/core/src/lib/tests/environment.service.spec.ts
  3. 9
      npm/ng-packs/packages/core/src/lib/tests/replaceable-template.directive.spec.ts
  4. 24
      npm/ng-packs/packages/theme-basic/src/lib/tests/lazy-style.handler.spec.ts
  5. 2
      npm/ng-packs/packages/theme-shared/extensions/src/tests/entity-props.spec.ts
  6. 10
      npm/ng-packs/packages/theme-shared/extensions/src/tests/form-props.spec.ts
  7. 6
      npm/ng-packs/packages/theme-shared/extensions/src/tests/toolbar-actions.spec.ts
  8. 4
      npm/ng-packs/packages/theme-shared/src/lib/tests/breadcrumb.component.spec.ts
  9. 4
      npm/ng-packs/packages/theme-shared/src/lib/tests/button.component.spec.ts
  10. 2
      npm/ng-packs/packages/theme-shared/src/lib/tests/error.handler.spec.ts
  11. 9
      npm/ng-packs/packages/theme-shared/src/lib/tests/loader-bar.component.spec.ts

2
npm/ng-packs/packages/core/src/lib/directives/replaceable-template.directive.ts

@ -132,7 +132,7 @@ export class ReplaceableTemplateDirective implements OnInit, OnChanges {
} }
setProvidedData() { setProvidedData() {
this.providedData = { ...this.data, inputs: {}, outputs: {} }; this.providedData = { outputs: {}, ...this.data, inputs: {} };
if (!this.data.inputs) return; if (!this.data.inputs) return;
Object.defineProperties(this.providedData.inputs, { Object.defineProperties(this.providedData.inputs, {

2
npm/ng-packs/packages/core/src/lib/tests/environment.service.spec.ts

@ -54,7 +54,7 @@ describe('Environment', () => {
it( it(
'should return api url', 'should return api url',
waitForAsync(() => { waitForAsync(() => {
expect(environment.getApiUrl()).toEqual(ENVIRONMENT_DATA.apis.default.url); expect(environment.getApiUrl('default')).toEqual(ENVIRONMENT_DATA.apis.default.url);
environment environment
.getApiUrl$('other') .getApiUrl$('other')
.subscribe(data => expect(data).toEqual(ENVIRONMENT_DATA.apis.other.url)); .subscribe(data => expect(data).toEqual(ENVIRONMENT_DATA.apis.other.url));

9
npm/ng-packs/packages/core/src/lib/tests/replaceable-template.directive.spec.ts

@ -65,7 +65,14 @@ describe('ReplaceableTemplateDirective', () => {
<abp-default-component #defaultComponent="abpDefaultComponent"></abp-default-component> <abp-default-component #defaultComponent="abpDefaultComponent"></abp-default-component>
</div> </div>
`, `,
{ hostProps: { oneWay: { label: 'Test' }, twoWay: false, twoWayChange, someOutput } }, {
hostProps: {
oneWay: { label: 'Test' },
twoWay: false,
twoWayChange,
someOutput,
},
},
); );
const component = spectator.query(DefaultComponent); const component = spectator.query(DefaultComponent);

24
npm/ng-packs/packages/theme-shared/src/lib/tests/lazy-style.handler.spec.ts → 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 { LazyLoadService, LOADING_STRATEGY, LocalizationService } from '@abp/ng.core';
import { DocumentDirHandlerService } from '@abp/ng.theme.shared';
import { createServiceFactory, SpectatorService } from '@ngneat/spectator/jest'; import { createServiceFactory, SpectatorService } from '@ngneat/spectator/jest';
import { EMPTY, of } from 'rxjs'; import { of } from 'rxjs';
import { BOOTSTRAP } from '../constants/styles'; import { BOOTSTRAP, createLazyStyleHref, LazyStyleHandler } from '../handlers';
import { createLazyStyleHref, initLazyStyleHandler, LazyStyleHandler } from '../handlers';
const languageChange$ = of({ payload: 'en' }); const languageChange$ = of({ payload: 'en' });
@ -14,6 +14,7 @@ describe('LazyStyleHandler', () => {
const createService = createServiceFactory({ const createService = createServiceFactory({
service: LazyStyleHandler, service: LazyStyleHandler,
providers: [ providers: [
DocumentDirHandlerService,
{ {
provide: LocalizationService, provide: LocalizationService,
useValue: { currentLang: 'en', languageChange$ }, 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);
});
});

2
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.displayName).toBe(options.displayName);
expect(prop.permission).toBe(options.permission); expect(prop.permission).toBe(options.permission);
expect(prop.visible()).toBe(options.visible()); 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.sortable).toBe(options.sortable);
expect(prop.columnWidth).toBe(options.columnWidth); expect(prop.columnWidth).toBe(options.columnWidth);
}); });

10
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.displayName).toBe(options.displayName);
expect(prop.permission).toBe(options.permission); expect(prop.permission).toBe(options.permission);
expect(prop.visible()).toBe(options.visible()); expect(prop.visible()).toBe(options.visible());
expect(prop.asyncValidators()).toEqual(options.asyncValidators()); expect(prop.asyncValidators(null)).toEqual(options.asyncValidators());
expect(prop.validators()).toEqual(options.validators()); expect(prop.validators(null)).toEqual(options.validators());
expect(prop.disabled()).toBe(options.disabled()); expect(prop.disabled()).toBe(options.disabled());
expect(prop.readonly()).toBe(options.readonly()); expect(prop.readonly()).toBe(options.readonly());
expect(prop.autocomplete).toBe(options.autocomplete); expect(prop.autocomplete).toBe(options.autocomplete);
expect(prop.defaultValue).toBe(options.defaultValue); 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); expect(prop.id).toBe(options.id);
}); });
@ -129,8 +129,8 @@ describe('FormProp', () => {
expect(prop.displayName).toBe(options.name); expect(prop.displayName).toBe(options.name);
expect(prop.permission).toBeUndefined(); expect(prop.permission).toBeUndefined();
expect(prop.visible()).toBe(true); expect(prop.visible()).toBe(true);
expect(prop.asyncValidators()).toEqual([]); expect(prop.asyncValidators(null)).toEqual([]);
expect(prop.validators()).toEqual([]); expect(prop.validators(null)).toEqual([]);
expect(prop.disabled()).toBe(false); expect(prop.disabled()).toBe(false);
expect(prop.readonly()).toBe(false); expect(prop.readonly()).toBe(false);
expect(prop.autocomplete).toBe('off'); expect(prop.autocomplete).toBe('off');

6
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.text).toBe(options.text);
expect(action.action).toBe(options.action); expect(action.action).toBe(options.action);
expect(action.permission).toBeUndefined(); expect(action.permission).toBe('');
expect(action.visible(null)).toBe(true); expect(action.visible(null)).toBe(true);
expect(action.icon).toBe(''); expect(action.icon).toBe('');
}); });
@ -178,8 +178,8 @@ describe('ToolbarComponent', () => {
const action = new ToolbarComponent(options); const action = new ToolbarComponent(options);
expect(action.component).toBe(options.component); expect(action.component).toBe(options.component);
expect(action.action()).toBeUndefined(); expect(action.action(null)).toBeUndefined();
expect(action.permission).toBeUndefined(); expect(action.permission).toBe('');
expect(action.visible()).toBe(true); expect(action.visible()).toBe(true);
}); });

4
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'; import { createRoutingFactory, SpectatorRouting } from '@ngneat/spectator/jest';
// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries // eslint-disable-next-line @nrwl/nx/enforce-module-boundaries
import { mockRoutesService } from '../../../../core/src/lib/tests/routes.service.spec'; 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[] = [ const mockRoutes: ABP.Route[] = [
{ name: 'Identity', path: '/identity' }, { name: 'Identity', path: '/identity' },
@ -33,7 +33,7 @@ describe('BreadcrumbComponent', () => {
useFactory: () => mockRoutesService(), useFactory: () => mockRoutesService(),
}, },
], ],
declarations: [LocalizationPipe, BreadcrumbComponent], declarations: [LocalizationPipe, BreadcrumbComponent, BreadcrumbItemsComponent],
imports: [RouterModule], imports: [RouterModule],
routes: [ routes: [
{ {

4
npm/ng-packs/packages/theme-shared/src/lib/tests/button.component.spec.ts

@ -52,8 +52,4 @@ describe('ButtonComponent', () => {
spectator.detectComponentChanges(); spectator.detectComponentChanges();
expect(spectator.query('[disabled]')).toBeTruthy(); expect(spectator.query('[disabled]')).toBeTruthy();
}); });
it('should disabled when the loading input is true', () => {
expect(spectator.query('[autofocus][name="abp-button"]')).toBeTruthy();
});
}); });

2
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, key: DEFAULT_ERROR_LOCALIZATIONS.defaultError.title,
defaultValue: DEFAULT_ERROR_MESSAGES.defaultError.title, defaultValue: DEFAULT_ERROR_MESSAGES.defaultError.title,
}, },
null, '',
CONFIRMATION_BUTTONS, CONFIRMATION_BUTTONS,
); );
}); });

9
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 { NavigationEnd, NavigationError, NavigationStart, Router } from '@angular/router';
import { createComponentFactory, Spectator, SpyObject } from '@ngneat/spectator/jest'; import { createComponentFactory, Spectator, SpyObject } from '@ngneat/spectator/jest';
import { Subject, timer } from 'rxjs'; import { Subject, timer } from 'rxjs';
import { LoaderBarComponent } from '../components/loader-bar/loader-bar.component'; 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', () => { describe('LoaderBarComponent', () => {
let spectator: Spectator<LoaderBarComponent>; let spectator: Spectator<LoaderBarComponent>;
@ -44,10 +44,13 @@ describe('LoaderBarComponent', () => {
}); });
it('should be interval unsubscribed', done => { it('should be interval unsubscribed', done => {
const request = new HttpRequest('GET', 'test');
spectator.detectChanges(); spectator.detectChanges();
const httpWaitService = spectator.inject(HttpWaitService); const httpWaitService = spectator.inject(HttpWaitService);
httpWaitService.addRequest(new HttpRequest('GET', 'test')); httpWaitService.addRequest(request);
expect(spectator.component.interval.closed).toBe(false); expect(spectator.component.interval.closed).toBe(false);
httpWaitService.deleteRequest(request);
timer(400).subscribe(() => { timer(400).subscribe(() => {
expect(spectator.component.interval.closed).toBe(true); expect(spectator.component.interval.closed).toBe(true);
done(); done();

Loading…
Cancel
Save