UNPKG

ngx-testing-tools

Version:
31 lines 5.18 kB
import { provideLocationMocks } from '@angular/common/testing'; import { provideRouter, Router } from '@angular/router'; import { RouterTestingHarness } from '@angular/router/testing'; import { BaseTestBedFactory } from '../common/test-beds/base/base-test-bed-factory'; import { buildRouterTools } from './tools/router-tools'; export class RouterTestBedFactory extends BaseTestBedFactory { constructor(routes, options) { super(Router, options); this._harness = null; this.deferredTools = () => buildRouterTools(this); const { initialUrl = '', startDetectChanges = true, } = options; this._routes = routes; this.initialUrl = initialUrl; this.startDetectChanges = startDetectChanges; this.provide([ provideRouter(routes), provideLocationMocks(), ]); this.createHarnessBeforeEachTest(); } async compile() { await super.compile(); this.injectDescribed(); } createHarnessBeforeEachTest() { globalThis.beforeEach(async () => { this._harness = await RouterTestingHarness.create(this.initialUrl); }); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLXRlc3QtYmVkLWZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVzdGluZy10b29scy9zcmMvbGliL3JvdXRlci10ZXN0LWJlZC9yb3V0ZXItdGVzdC1iZWQtZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBSXBGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXhELE1BQU0sT0FBTyxvQkFHWCxTQUFRLGtCQUlUO0lBRUMsWUFDRSxNQUFtQixFQUNuQixPQUE2QjtRQUU3QixLQUFLLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBeUJqQixhQUFRLEdBQXlCLElBQUssQ0FBQztRQUU1QixrQkFBYSxHQUFHLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBekI5RCxNQUFNLEVBQ0osVUFBVSxHQUFHLEVBQUUsRUFDZixrQkFBa0IsR0FBRyxJQUFJLEdBQzFCLEdBQUcsT0FBTyxDQUFDO1FBRVosSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFFdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGtCQUFrQixDQUFDO1FBRTdDLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDWCxhQUFhLENBQUMsTUFBTSxDQUFDO1lBQ3JCLG9CQUFvQixFQUFFO1NBQ3ZCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFXZSxLQUFLLENBQUMsT0FBTztRQUMzQixNQUFNLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVPLDJCQUEyQjtRQUNqQyxVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQy9CLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3JFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcHJvdmlkZUxvY2F0aW9uTW9ja3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24vdGVzdGluZyc7XG5pbXBvcnQgeyBwcm92aWRlUm91dGVyLCBSb3V0ZXIsIFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBSb3V0ZXJUZXN0aW5nSGFybmVzcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlci90ZXN0aW5nJztcbmltcG9ydCB7IEJhc2VUZXN0QmVkRmFjdG9yeSB9IGZyb20gJy4uL2NvbW1vbi90ZXN0LWJlZHMvYmFzZS9iYXNlLXRlc3QtYmVkLWZhY3RvcnknO1xuaW1wb3J0IHsgSW5qZWN0aW9uU3RvcmUgfSBmcm9tICcuLi9jb21tb24vdG9vbHMvc3RvcmUvbW9kZWxzL2luamVjdGVkLXN0b3JlLm1vZGVsJztcbmltcG9ydCB7IFJvdXRlclRlc3RCZWRPcHRpb25zIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgUm91dGVyVG9vbHMgfSBmcm9tICcuL3Rvb2xzJztcbmltcG9ydCB7IGJ1aWxkUm91dGVyVG9vbHMgfSBmcm9tICcuL3Rvb2xzL3JvdXRlci10b29scyc7XG5cbmV4cG9ydCBjbGFzcyBSb3V0ZXJUZXN0QmVkRmFjdG9yeTxcbiAgUm91dGVzQ29uc3QgZXh0ZW5kcyBSb3V0ZXMsXG4gIFN0b3JlIGV4dGVuZHMgSW5qZWN0aW9uU3RvcmUgPSBJbmplY3Rpb25TdG9yZVxuPiBleHRlbmRzIEJhc2VUZXN0QmVkRmFjdG9yeTxcbiAgUm91dGVyLFxuICBTdG9yZSxcbiAgUm91dGVyVG9vbHM8Um91dGVzQ29uc3QsIFN0b3JlWydpbmplY3RlZCddPlxuPiB7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHJvdXRlczogUm91dGVzQ29uc3QsXG4gICAgb3B0aW9uczogUm91dGVyVGVzdEJlZE9wdGlvbnMsXG4gICkge1xuICAgIHN1cGVyKFJvdXRlciwgb3B0aW9ucyk7XG5cbiAgICBjb25zdCB7XG4gICAgICBpbml0aWFsVXJsID0gJycsXG4gICAgICBzdGFydERldGVjdENoYW5nZXMgPSB0cnVlLFxuICAgIH0gPSBvcHRpb25zO1xuXG4gICAgdGhpcy5fcm91dGVzID0gcm91dGVzO1xuXG4gICAgdGhpcy5pbml0aWFsVXJsID0gaW5pdGlhbFVybDtcbiAgICB0aGlzLnN0YXJ0RGV0ZWN0Q2hhbmdlcyA9IHN0YXJ0RGV0ZWN0Q2hhbmdlcztcblxuICAgIHRoaXMucHJvdmlkZShbXG4gICAgICBwcm92aWRlUm91dGVyKHJvdXRlcyksXG4gICAgICBwcm92aWRlTG9jYXRpb25Nb2NrcygpLFxuICAgIF0pO1xuXG4gICAgdGhpcy5jcmVhdGVIYXJuZXNzQmVmb3JlRWFjaFRlc3QoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZWFkb25seSBzdGFydERldGVjdENoYW5nZXM6IGJvb2xlYW47XG5cbiAgcHJvdGVjdGVkIGluaXRpYWxVcmw6IHN0cmluZztcblxuICBwcml2YXRlIF9yb3V0ZXM6IFJvdXRlc0NvbnN0O1xuICBwcml2YXRlIF9oYXJuZXNzOiBSb3V0ZXJUZXN0aW5nSGFybmVzcyA9IG51bGwhO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBkZWZlcnJlZFRvb2xzID0gKCkgPT4gYnVpbGRSb3V0ZXJUb29scyh0aGlzKTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgY29tcGlsZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBzdXBlci5jb21waWxlKCk7XG4gICAgdGhpcy5pbmplY3REZXNjcmliZWQoKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlSGFybmVzc0JlZm9yZUVhY2hUZXN0KCk6IHZvaWQge1xuICAgIGdsb2JhbFRoaXMuYmVmb3JlRWFjaChhc3luYyAoKSA9PiB7XG4gICAgICB0aGlzLl9oYXJuZXNzID0gYXdhaXQgUm91dGVyVGVzdGluZ0hhcm5lc3MuY3JlYXRlKHRoaXMuaW5pdGlhbFVybCk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==