UNPKG

ngx-testing-tools

Version:
28 lines 4.26 kB
import { buildJasmineCallback } from '../common/jasmine/jasmine-callback'; import { mergeBaseFactory } from '../common/test-beds/base/merge-base-factory'; import { RouterTestBedFactory } from './router-test-bed-factory'; /** * Creates a new `RouterTestBed` to configure the custom test bed and wrap the assertion test. * @param routes - the routes to be tested * @param options - check `RouterTestBedOptions` */ export function routerTestBed(routes, options = {}) { const factory = new RouterTestBedFactory(routes, options); const defaultStartDetectChanges = factory['startDetectChanges']; const tb = ((assertion, opts = {}) => { const { startDetectChanges = defaultStartDetectChanges, } = opts; return buildJasmineCallback({ callback: assertion, deferredTools: factory['deferredTools'], preTest: (tools) => { if (startDetectChanges) tools.harness.detectChanges(); }, postTest: (tools) => { tools.rx['cleanAll'](); }, }); }); return mergeBaseFactory(factory, tb); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLXRlc3QtYmVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlc3RpbmctdG9vbHMvc3JjL2xpYi9yb3V0ZXItdGVzdC1iZWQvcm91dGVyLXRlc3QtYmVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRS9FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRWpFOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsYUFBYSxDQUFtQixNQUFTLEVBQUUsVUFBZ0MsRUFBRTtJQUMzRixNQUFNLE9BQU8sR0FBRyxJQUFJLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUUxRCxNQUFNLHlCQUF5QixHQUFHLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBRWhFLE1BQU0sRUFBRSxHQUFxQixDQUFDLENBQUMsU0FBUyxFQUFFLElBQUksR0FBRyxFQUFFLEVBQUUsRUFBRTtRQUNyRCxNQUFNLEVBQ0osa0JBQWtCLEdBQUcseUJBQXlCLEdBQy9DLEdBQUcsSUFBSSxDQUFDO1FBRVQsT0FBTyxvQkFBb0IsQ0FBQztZQUMxQixRQUFRLEVBQUUsU0FBUztZQUNuQixhQUFhLEVBQUUsT0FBTyxDQUFDLGVBQWUsQ0FBQztZQUN2QyxPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDakIsSUFBSSxrQkFBa0I7b0JBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN4RCxDQUFDO1lBQ0QsUUFBUSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ2xCLEtBQUssQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUN6QixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFxQixDQUFDO0lBRXZCLE9BQU8sZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ3ZDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3V0ZXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgYnVpbGRKYXNtaW5lQ2FsbGJhY2sgfSBmcm9tICcuLi9jb21tb24vamFzbWluZS9qYXNtaW5lLWNhbGxiYWNrJztcbmltcG9ydCB7IG1lcmdlQmFzZUZhY3RvcnkgfSBmcm9tICcuLi9jb21tb24vdGVzdC1iZWRzL2Jhc2UvbWVyZ2UtYmFzZS1mYWN0b3J5JztcbmltcG9ydCB7IFJvdXRlclRlc3RCZWQsIFJvdXRlclRlc3RCZWRPcHRpb25zIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgUm91dGVyVGVzdEJlZEZhY3RvcnkgfSBmcm9tICcuL3JvdXRlci10ZXN0LWJlZC1mYWN0b3J5JztcblxuLyoqXG4gKiBDcmVhdGVzIGEgbmV3IGBSb3V0ZXJUZXN0QmVkYCB0byBjb25maWd1cmUgdGhlIGN1c3RvbSB0ZXN0IGJlZCBhbmQgd3JhcCB0aGUgYXNzZXJ0aW9uIHRlc3QuXG4gKiBAcGFyYW0gcm91dGVzIC0gdGhlIHJvdXRlcyB0byBiZSB0ZXN0ZWRcbiAqIEBwYXJhbSBvcHRpb25zIC0gY2hlY2sgYFJvdXRlclRlc3RCZWRPcHRpb25zYFxuICovXG5leHBvcnQgZnVuY3Rpb24gcm91dGVyVGVzdEJlZDxUIGV4dGVuZHMgUm91dGVzPihyb3V0ZXM6IFQsIG9wdGlvbnM6IFJvdXRlclRlc3RCZWRPcHRpb25zID0ge30pOiBSb3V0ZXJUZXN0QmVkPFQ+IHtcbiAgY29uc3QgZmFjdG9yeSA9IG5ldyBSb3V0ZXJUZXN0QmVkRmFjdG9yeShyb3V0ZXMsIG9wdGlvbnMpO1xuXG4gIGNvbnN0IGRlZmF1bHRTdGFydERldGVjdENoYW5nZXMgPSBmYWN0b3J5WydzdGFydERldGVjdENoYW5nZXMnXTtcblxuICBjb25zdCB0YjogUm91dGVyVGVzdEJlZDxUPiA9ICgoYXNzZXJ0aW9uLCBvcHRzID0ge30pID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBzdGFydERldGVjdENoYW5nZXMgPSBkZWZhdWx0U3RhcnREZXRlY3RDaGFuZ2VzLFxuICAgIH0gPSBvcHRzO1xuXG4gICAgcmV0dXJuIGJ1aWxkSmFzbWluZUNhbGxiYWNrKHtcbiAgICAgIGNhbGxiYWNrOiBhc3NlcnRpb24sXG4gICAgICBkZWZlcnJlZFRvb2xzOiBmYWN0b3J5WydkZWZlcnJlZFRvb2xzJ10sXG4gICAgICBwcmVUZXN0OiAodG9vbHMpID0+IHtcbiAgICAgICAgaWYgKHN0YXJ0RGV0ZWN0Q2hhbmdlcykgdG9vbHMuaGFybmVzcy5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9LFxuICAgICAgcG9zdFRlc3Q6ICh0b29scykgPT4ge1xuICAgICAgICB0b29scy5yeFsnY2xlYW5BbGwnXSgpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfSkgYXMgUm91dGVyVGVzdEJlZDxUPjtcblxuICByZXR1cm4gbWVyZ2VCYXNlRmFjdG9yeShmYWN0b3J5LCB0Yik7XG59XG4iXX0=