UNPKG

ngx-testing-tools

Version:
39 lines 5.55 kB
import { buildJasmineCallback } from '../common/jasmine/jasmine-callback'; import { mergeBaseFactory } from '../common/test-beds/base/merge-base-factory'; import { ServiceTestBedFactory } from './service-test-bed-factory'; /** * Creates a new `ServiceTestBed` to configure the custom test bed and wrap the assertion test. * @param rootService - The described Service. * @param options */ export function serviceTestBed(rootService, options = {}) { const factory = new ServiceTestBedFactory(rootService, options); const { httpTesting, verifyHttp: defaultVerifyHttp, } = factory['httpOptions']; const tb = ((assertion, opts = {}) => { const { verifyHttp = defaultVerifyHttp } = opts; return buildJasmineCallback({ callback: assertion, deferredTools: factory['deferredTools'], postTest: (tools) => { if (httpTesting && verifyHttp) tools.http.controller.verify(); tools.rx['cleanAll'](); }, }); }); return mergeBaseFactory(factory, tb); } /** * Only invokes the "should create" test. * * To be used when there are no noticeable or relevant tests to be performed on this service. * * The usage of this function and `serviceTestBed` function must be mutually exclusive. * * @param rootService - The described Service. * @param options */ export function itShouldCreateService(rootService, options) { serviceTestBed(rootService, options); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS10ZXN0LWJlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZXN0aW5nLXRvb2xzL3NyYy9saWIvc2VydmljZS10ZXN0LWJlZC9zZXJ2aWNlLXRlc3QtYmVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRy9FLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRW5FOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFJLFdBQW9CLEVBQUUsVUFBaUMsRUFBRTtJQUN6RixNQUFNLE9BQU8sR0FBRyxJQUFJLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUVoRSxNQUFNLEVBQ0osV0FBVyxFQUNYLFVBQVUsRUFBRSxpQkFBaUIsR0FDOUIsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFM0IsTUFBTSxFQUFFLEdBQXNCLENBQUMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxHQUFHLEVBQUUsRUFBRSxFQUFFO1FBQ3RELE1BQU0sRUFBRSxVQUFVLEdBQUcsaUJBQWlCLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFFaEQsT0FBTyxvQkFBb0IsQ0FBQztZQUMxQixRQUFRLEVBQUUsU0FBUztZQUNuQixhQUFhLEVBQUUsT0FBTyxDQUFDLGVBQWUsQ0FBQztZQUN2QyxRQUFRLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDbEIsSUFBSSxXQUFXLElBQUksVUFBVTtvQkFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDOUQsS0FBSyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3pCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDLENBQXNCLENBQUM7SUFFeEIsT0FBTyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDdkMsQ0FBQztBQUVEOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sVUFBVSxxQkFBcUIsQ0FBSSxXQUFvQixFQUFFLE9BQXNDO0lBQ25HLGNBQWMsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDdkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGJ1aWxkSmFzbWluZUNhbGxiYWNrIH0gZnJvbSAnLi4vY29tbW9uL2phc21pbmUvamFzbWluZS1jYWxsYmFjayc7XG5pbXBvcnQgeyBtZXJnZUJhc2VGYWN0b3J5IH0gZnJvbSAnLi4vY29tbW9uL3Rlc3QtYmVkcy9iYXNlL21lcmdlLWJhc2UtZmFjdG9yeSc7XG5pbXBvcnQgeyBQaXBlVGVzdEJlZE9wdGlvbnMgfSBmcm9tICcuLi9waXBlLXRlc3QtYmVkJztcbmltcG9ydCB7IFNlcnZpY2VUZXN0QmVkLCBTZXJ2aWNlVGVzdEJlZE9wdGlvbnMgfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBTZXJ2aWNlVGVzdEJlZEZhY3RvcnkgfSBmcm9tICcuL3NlcnZpY2UtdGVzdC1iZWQtZmFjdG9yeSc7XG5cbi8qKlxuICogQ3JlYXRlcyBhIG5ldyBgU2VydmljZVRlc3RCZWRgIHRvIGNvbmZpZ3VyZSB0aGUgY3VzdG9tIHRlc3QgYmVkIGFuZCB3cmFwIHRoZSBhc3NlcnRpb24gdGVzdC5cbiAqIEBwYXJhbSByb290U2VydmljZSAtIFRoZSBkZXNjcmliZWQgU2VydmljZS5cbiAqIEBwYXJhbSBvcHRpb25zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXJ2aWNlVGVzdEJlZDxUPihyb290U2VydmljZTogVHlwZTxUPiwgb3B0aW9uczogU2VydmljZVRlc3RCZWRPcHRpb25zID0ge30pOiBTZXJ2aWNlVGVzdEJlZDxUPiB7XG4gIGNvbnN0IGZhY3RvcnkgPSBuZXcgU2VydmljZVRlc3RCZWRGYWN0b3J5KHJvb3RTZXJ2aWNlLCBvcHRpb25zKTtcblxuICBjb25zdCB7XG4gICAgaHR0cFRlc3RpbmcsXG4gICAgdmVyaWZ5SHR0cDogZGVmYXVsdFZlcmlmeUh0dHAsXG4gIH0gPSBmYWN0b3J5WydodHRwT3B0aW9ucyddO1xuXG4gIGNvbnN0IHRiOiBTZXJ2aWNlVGVzdEJlZDxUPiA9ICgoYXNzZXJ0aW9uLCBvcHRzID0ge30pID0+IHtcbiAgICBjb25zdCB7IHZlcmlmeUh0dHAgPSBkZWZhdWx0VmVyaWZ5SHR0cCB9ID0gb3B0cztcblxuICAgIHJldHVybiBidWlsZEphc21pbmVDYWxsYmFjayh7XG4gICAgICBjYWxsYmFjazogYXNzZXJ0aW9uLFxuICAgICAgZGVmZXJyZWRUb29sczogZmFjdG9yeVsnZGVmZXJyZWRUb29scyddLFxuICAgICAgcG9zdFRlc3Q6ICh0b29scykgPT4ge1xuICAgICAgICBpZiAoaHR0cFRlc3RpbmcgJiYgdmVyaWZ5SHR0cCkgdG9vbHMuaHR0cC5jb250cm9sbGVyLnZlcmlmeSgpO1xuICAgICAgICB0b29scy5yeFsnY2xlYW5BbGwnXSgpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfSkgYXMgU2VydmljZVRlc3RCZWQ8VD47XG5cbiAgcmV0dXJuIG1lcmdlQmFzZUZhY3RvcnkoZmFjdG9yeSwgdGIpO1xufVxuXG4vKipcbiAqIE9ubHkgaW52b2tlcyB0aGUgXCJzaG91bGQgY3JlYXRlXCIgdGVzdC5cbiAqXG4gKiBUbyBiZSB1c2VkIHdoZW4gdGhlcmUgYXJlIG5vIG5vdGljZWFibGUgb3IgcmVsZXZhbnQgdGVzdHMgdG8gYmUgcGVyZm9ybWVkIG9uIHRoaXMgc2VydmljZS5cbiAqXG4gKiBUaGUgdXNhZ2Ugb2YgdGhpcyBmdW5jdGlvbiBhbmQgYHNlcnZpY2VUZXN0QmVkYCBmdW5jdGlvbiBtdXN0IGJlIG11dHVhbGx5IGV4Y2x1c2l2ZS5cbiAqXG4gKiBAcGFyYW0gcm9vdFNlcnZpY2UgLSBUaGUgZGVzY3JpYmVkIFNlcnZpY2UuXG4gKiBAcGFyYW0gb3B0aW9uc1xuICovXG5leHBvcnQgZnVuY3Rpb24gaXRTaG91bGRDcmVhdGVTZXJ2aWNlPFQ+KHJvb3RTZXJ2aWNlOiBUeXBlPFQ+LCBvcHRpb25zPzogSXRTaG91bGRDcmVhdGVTZXJ2aWNlT3B0aW9ucyk6IHZvaWQge1xuICBzZXJ2aWNlVGVzdEJlZChyb290U2VydmljZSwgb3B0aW9ucyk7XG59XG5cbnR5cGUgSXRTaG91bGRDcmVhdGVTZXJ2aWNlT3B0aW9ucyA9IFBpY2s8UGlwZVRlc3RCZWRPcHRpb25zLFxuICB8ICdwcm92aWRlcnMnXG4gIHwgJ2ltcG9ydHMnXG4+XG4iXX0=