@universis/common
Version:
Universis - common directives and services
1 lines • 9.42 kB
Source Map (JSON)
{"version":3,"file":"universis-common-testing.mjs","sources":["../../testing/src/api-testing-controller.service.ts","../../testing/src/api-testing.interceptor.ts","../../testing/src/api-testing.module.ts","../../testing/src/testing-configuration.service.ts","../../testing/src/public_api.ts","../../testing/src/universis-common-testing.ts"],"sourcesContent":["import {Injectable} from '@angular/core';\nimport {RequestMatch, TestRequest} from '@angular/common/http/testing';\nimport {HttpRequest} from '@angular/common/http';\n\n\n@Injectable()\nexport class ApiTestingController {\n private _match: RequestMatch | any;\n private readonly matches: Map<RequestMatch, (request: TestRequest) => void>;\n constructor() {\n // initialize map\n this.matches = new Map<RequestMatch, (request: TestRequest) => void>();\n }\n\n /**\n * Prepares a request mapper based on the given request match\n * @param match\n */\n match(match: RequestMatch): ApiTestingController {\n // set temp request and prepare to get request mapper\n this._match = match;\n return this;\n }\n\n /**\n * Maps a request (based on an in-process request match)\n * with an instance of TestRequest class\n * @param mapper\n */\n map(mapper: (request: TestRequest) => void): ApiTestingController {\n if (this._match != null) {\n // search if match.url already exists\n const keys = Array.from(this.matches.keys());\n // find key by method and url\n const key = keys.find(value => {\n return value.method === this._match.method && value.url === this._match.url;\n });\n if (key) {\n // update existing item\n this.matches.set(key, mapper);\n } else {\n // add new\n this.matches.set(this._match, mapper);\n }\n this._match = null;\n return this;\n }\n throw new TypeError('Request match cannot be empty at this context. ' +\n 'Call CommonTestHttpController.match() first.');\n }\n\n /**\n * Finds a request mapper based on the given request match\n * @param req\n */\n find(req: HttpRequest<any>): ((request: TestRequest) => void) | undefined {\n // get keys\n const keys = Array.from(this.matches.keys());\n // find key by method and url\n const key = keys.find(value => {\n return value.method === req.method && value.url === req.url;\n });\n // and return request mapper if any\n if (key) {\n return this.matches.get(key);\n }\n return;\n }\n}\n","import {HttpEvent, HttpEventType, HttpHandler, HttpInterceptor, HttpRequest} from '@angular/common/http';\nimport {Observable} from 'rxjs';\nimport {TestRequest} from '@angular/common/http/testing';\nimport {ApiTestingController} from './api-testing-controller.service';\n\nexport class ApiTestingInterceptor implements HttpInterceptor {\n\n constructor(private httpController: ApiTestingController) {\n //\n }\n\n intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n const requestMapper = this.httpController.find(req);\n if (requestMapper == null) {\n return next.handle(req);\n }\n return new Observable((observer) => {\n // create an instance of test request\n const testReq = new TestRequest(req, observer);\n // call request mapper\n requestMapper.call(null, testReq);\n // finalize\n return observer.next({ type: HttpEventType.Sent });\n });\n }\n}\n","import {ModuleWithProviders, NgModule, Optional, SkipSelf} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {HTTP_INTERCEPTORS, HttpClientModule} from '@angular/common/http';\nimport {ApiTestingController} from './api-testing-controller.service';\nimport {ApiTestingInterceptor} from './api-testing.interceptor';\n\n@NgModule({\n imports: [\n CommonModule,\n HttpClientModule\n ]\n})\nexport class ApiTestingModule {\n constructor( @Optional() @SkipSelf() parentModule: ApiTestingModule) {\n //\n }\n\n static forRoot(): ModuleWithProviders<ApiTestingModule> {\n return {\n ngModule: ApiTestingModule,\n providers: [\n ApiTestingController,\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ApiTestingInterceptor,\n multi: true,\n deps: [ApiTestingController]\n },\n ]\n };\n }\n}\n\n","\nexport class TestingConfigurationService {\n public config: any;\n private currentLang: string;\n constructor() {\n this.config = {\n settings: {\n localization: {\n cultures: [ 'en', 'el' ],\n default: 'el'\n }\n }\n };\n this.currentLang = this.config.settings.localization.default;\n }\n\n get settings(): any {\n return this.config.settings;\n }\n\n getCurrentLang(): string {\n return this.currentLang;\n }\n\n setCurrentLang(lang: string) {\n this.currentLang = lang;\n }\n}\n","// testing module\n\nexport { ApiTestingController } from './api-testing-controller.service';\nexport { ApiTestingInterceptor } from './api-testing.interceptor';\nexport { ApiTestingModule } from './api-testing.module';\nexport { TestingConfigurationService } from './testing-configuration.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}