Browse Source

fix some testing errors

pull/10010/head
mehmet-erim 5 years ago
parent
commit
68d3c562bd
  1. 2
      npm/ng-packs/packages/core/src/lib/strategies/auth-flow.strategy.ts
  2. 2
      npm/ng-packs/packages/core/src/lib/tests/permission.guard.spec.ts
  3. 14
      npm/ng-packs/packages/core/src/lib/tests/profile.service.spec.ts
  4. 8
      npm/ng-packs/packages/core/src/lib/tests/rest.service.spec.ts
  5. 2
      npm/ng-packs/packages/core/src/lib/utils/environment-utils.ts
  6. 2
      npm/ng-packs/packages/theme-shared/src/lib/components/breadcrumb/breadcrumb.component.ts
  7. 25
      npm/ng-packs/packages/theme-shared/src/lib/handlers/error.handler.ts
  8. 5
      npm/ng-packs/packages/theme-shared/src/lib/tests/breadcrumb.component.spec.ts
  9. 15
      npm/ng-packs/packages/theme-shared/src/lib/tests/error.handler.spec.ts

2
npm/ng-packs/packages/core/src/lib/strategies/auth-flow.strategy.ts

@ -11,9 +11,9 @@ import {
import { from, Observable, of, pipe } from 'rxjs';
import { filter, switchMap, tap } from 'rxjs/operators';
import { LoginParams } from '../models/auth';
import { HttpErrorReporterService } from '../services';
import { ConfigStateService } from '../services/config-state.service';
import { EnvironmentService } from '../services/environment.service';
import { HttpErrorReporterService } from '../services/http-error-reporter.service';
import { SessionStateService } from '../services/session-state.service';
import { TENANT_KEY } from '../tokens/tenant-key.token';
import { removeRememberMe, setRememberMe } from '../utils/auth-utils';

2
npm/ng-packs/packages/core/src/lib/tests/permission.guard.spec.ts

@ -21,7 +21,7 @@ describe('PermissionGuard', () => {
const createService = createServiceFactory({
service: PermissionGuard,
mocks: [PermissionService, Store],
mocks: [PermissionService],
declarations: [DummyComponent],
imports: [
HttpClientTestingModule,

14
npm/ng-packs/packages/core/src/lib/tests/profile.service.spec.ts

@ -1,5 +1,11 @@
import { createHttpFactory, HttpMethod, SpectatorHttp, SpyObject } from '@ngneat/spectator/jest';
import { EnvironmentService, ProfileService, RestService } from '../services';
import { UpdateProfileDto } from '../models';
import {
EnvironmentService,
HttpErrorReporterService,
ProfileService,
RestService,
} from '../services';
import { CORE_OPTIONS } from '../tokens';
describe('ProfileService', () => {
@ -8,7 +14,7 @@ describe('ProfileService', () => {
const createHttp = createHttpFactory({
service: ProfileService,
providers: [RestService, { provide: CORE_OPTIONS, useValue: {} }],
providers: [RestService, HttpErrorReporterService, { provide: CORE_OPTIONS, useValue: {} }],
mocks: [EnvironmentService],
});
@ -43,7 +49,9 @@ describe('ProfileService', () => {
phoneNumber: '+123456',
isExternal: false,
hasPassword: false,
};
extraProperties: {},
} as UpdateProfileDto;
spectator.service.update(mock).subscribe();
const req = spectator.expectOne('https://abp.io/api/identity/my-profile', HttpMethod.PUT);
expect(req.request.body).toEqual(mock);

8
npm/ng-packs/packages/core/src/lib/tests/rest.service.spec.ts

@ -15,8 +15,12 @@ describe('HttpClient testing', () => {
const createHttp = createHttpFactory({
service: RestService,
providers: [EnvironmentService, { provide: CORE_OPTIONS, useValue: { environment: {} } }],
mocks: [OAuthService, HttpErrorReporterService],
providers: [
EnvironmentService,
HttpErrorReporterService,
{ provide: CORE_OPTIONS, useValue: { environment: {} } },
],
mocks: [OAuthService],
});
beforeEach(() => {

2
npm/ng-packs/packages/core/src/lib/utils/environment-utils.ts

@ -2,8 +2,8 @@ import { HttpClient } from '@angular/common/http';
import { Injector } from '@angular/core';
import { catchError, tap } from 'rxjs/operators';
import { Environment, RemoteEnv } from '../models/environment';
import { HttpErrorReporterService } from '../services';
import { EnvironmentService } from '../services/environment.service';
import { HttpErrorReporterService } from '../services/http-error-reporter.service';
import { deepMerge } from './object-utils';
export function getRemoteEnv(injector: Injector, environment: Partial<Environment>) {

2
npm/ng-packs/packages/theme-shared/src/lib/components/breadcrumb/breadcrumb.component.ts

@ -9,7 +9,7 @@ import {
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
import { map, startWith } from 'rxjs/operators';
import { eThemeSharedRouteNames } from '../../enums';
import { eThemeSharedRouteNames } from '../../enums/route-names';
@Component({
selector: 'abp-breadcrumb',

25
npm/ng-packs/packages/theme-shared/src/lib/handlers/error.handler.ts

@ -10,7 +10,6 @@ import {
ComponentFactoryResolver,
ComponentRef,
EmbeddedViewRef,
Inject,
Injectable,
Injector,
RendererFactory2,
@ -78,15 +77,21 @@ export class ErrorHandler {
throwError(err),
);
constructor(
protected httpErrorReporter: HttpErrorReporterService,
protected routerEvents: RouterEvents,
protected confirmationService: ConfirmationService,
protected cfRes: ComponentFactoryResolver,
protected rendererFactory: RendererFactory2,
protected injector: Injector,
@Inject('HTTP_ERROR_CONFIG') protected httpErrorConfig: HttpErrorConfig,
) {
protected httpErrorReporter: HttpErrorReporterService;
protected routerEvents: RouterEvents;
protected confirmationService: ConfirmationService;
protected cfRes: ComponentFactoryResolver;
protected rendererFactory: RendererFactory2;
protected httpErrorConfig: HttpErrorConfig;
constructor(protected injector: Injector) {
this.httpErrorReporter = injector.get(HttpErrorReporterService);
this.routerEvents = injector.get(RouterEvents);
this.confirmationService = injector.get(ConfirmationService);
this.cfRes = injector.get(ComponentFactoryResolver);
this.rendererFactory = injector.get(RendererFactory2);
this.httpErrorConfig = injector.get('HTTP_ERROR_CONFIG');
this.listenToRestError();
this.listenToRouterError();
this.listenToRouterDataResolved();

5
npm/ng-packs/packages/theme-shared/src/lib/tests/breadcrumb.component.spec.ts

@ -8,6 +8,8 @@ import {
import { HttpClient } from '@angular/common/http';
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';
const mockRoutes: ABP.Route[] = [
@ -75,6 +77,3 @@ describe('BreadcrumbComponent', () => {
expect(spectator.query('ol.breadcrumb')).toBeFalsy();
});
});
function mockRoutesService() {
throw new Error('Function not implemented.');
}

15
npm/ng-packs/packages/theme-shared/src/lib/tests/error.handler.spec.ts

@ -5,12 +5,14 @@ import { HttpErrorResponse, HttpHeaders } from '@angular/common/http';
import { Component, NgModule } from '@angular/core';
import { createServiceFactory, SpectatorService } from '@ngneat/spectator/jest';
import { OAuthService } from 'angular-oauth2-oidc';
import { of } from 'rxjs';
import { of, Subject } from 'rxjs';
import { HttpErrorWrapperComponent } from '../components/http-error-wrapper/http-error-wrapper.component';
import { DEFAULT_ERROR_LOCALIZATIONS, DEFAULT_ERROR_MESSAGES, ErrorHandler } from '../handlers';
import { ConfirmationService } from '../services';
import { httpErrorConfigFactory } from '../tokens/http-error.token';
const reporter$ = new Subject();
@NgModule({
exports: [HttpErrorWrapperComponent],
declarations: [HttpErrorWrapperComponent],
@ -33,6 +35,15 @@ describe('ErrorHandler', () => {
imports: [CoreTestingModule.withConfig(), MockModule],
mocks: [OAuthService],
providers: [
{
provide: HttpErrorReporterService,
useValue: {
reportError: err => {
reporter$.next(err);
},
reporter$: reporter$.asObservable(),
},
},
{ provide: APP_BASE_HREF, useValue: '/' },
{
provide: 'HTTP_ERROR_CONFIG',
@ -117,8 +128,6 @@ describe('ErrorHandler', () => {
isHomeShow: false,
};
expect(selectHtmlErrorWrapper()).toBeNull();
httpErrorReporter.reportError(error);
expect(createComponent).toHaveBeenCalledWith(params);

Loading…
Cancel
Save