ngx-testing-tools
Version:
Makes Angular testing easier
24 lines • 6.53 kB
JavaScript
import { buildJasmineCallback } from '../common/jasmine/jasmine-callback';
import { mergeBaseFactory } from '../common/test-beds/base/merge-base-factory';
import { GuardTestBedFactory } from './guard-test-bed-factory';
export function guardTestBed(rootGuard, options = {}) {
const factory = new GuardTestBedFactory(rootGuard, 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);
}
export function itShouldCreateGuard(rootGuard, options) {
guardTestBed(rootGuard, options);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VhcmQtdGVzdC1iZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVzdGluZy10b29scy9zcmMvbGliL2d1YXJkLXRlc3QtYmVkL2d1YXJkLXRlc3QtYmVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBaUIvRCxNQUFNLFVBQVUsWUFBWSxDQUFJLFNBQXdCLEVBQUUsVUFBcUQsRUFBRTtJQUMvRyxNQUFNLE9BQU8sR0FBRyxJQUFJLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUU1RCxNQUFNLEVBQ0osV0FBVyxFQUNYLFVBQVUsRUFBRSxpQkFBaUIsR0FDOUIsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFM0IsTUFBTSxFQUFFLEdBQW9CLENBQUMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxHQUFHLEVBQUUsRUFBRSxFQUFFO1FBQ3BELE1BQU0sRUFDSixVQUFVLEdBQUcsaUJBQWlCLEdBQy9CLEdBQUcsSUFBSSxDQUFDO1FBRVQsT0FBTyxvQkFBb0IsQ0FBQztZQUMxQixRQUFRLEVBQUUsU0FBUztZQUNuQixhQUFhLEVBQUUsT0FBTyxDQUFDLGVBQWUsQ0FBQztZQUN2QyxRQUFRLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDbEIsSUFBSSxXQUFXLElBQUksVUFBVTtvQkFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDOUQsS0FBSyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3pCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDLENBQW9CLENBQUM7SUFFdEIsT0FBTyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDdkMsQ0FBQztBQXdCRCxNQUFNLFVBQVUsbUJBQW1CLENBQUksU0FBd0IsRUFBRSxPQUFvQztJQUNuRyxZQUFZLENBQUMsU0FBZ0IsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUMxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgYnVpbGRKYXNtaW5lQ2FsbGJhY2sgfSBmcm9tICcuLi9jb21tb24vamFzbWluZS9qYXNtaW5lLWNhbGxiYWNrJztcbmltcG9ydCB7IG1lcmdlQmFzZUZhY3RvcnkgfSBmcm9tICcuLi9jb21tb24vdGVzdC1iZWRzL2Jhc2UvbWVyZ2UtYmFzZS1mYWN0b3J5JztcbmltcG9ydCB7IEd1YXJkVGVzdEJlZEZhY3RvcnkgfSBmcm9tICcuL2d1YXJkLXRlc3QtYmVkLWZhY3RvcnknO1xuaW1wb3J0IHsgR3VhcmRUZXN0QmVkLCBHdWFyZFRlc3RCZWRPcHRpb25zIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgR3VhcmRDYW4sIEd1YXJkQ2xhc3MsIEd1YXJkRm4gfSBmcm9tICcuL21vZGVscy9ndWFyZC1jYW4ubW9kZWwnO1xuaW1wb3J0IHsgVmFsaWRHdWFyZCB9IGZyb20gJy4vbW9kZWxzL3ZhbGlkLWd1YXJkLm1vZGVsJztcblxuLyoqXG4gKiBDcmVhdGVzIGEgbmV3IGBHdWFyZFRlc3RCZWRgIHRvIGNvbmZpZ3VyZSB0aGUgY3VzdG9tIHRlc3QgYmVkIGFuZCB3cmFwIHRoZSBhc3NlcnRpb24gdGVzdC5cbiAqIEBwYXJhbSByb290R3VhcmQgLSB0aGUgZGVzY3JpYmVkIGNsYXNzIGd1YXJkXG4gKiBAcGFyYW0gb3B0aW9ucyAtIGNoZWNrIGBHdWFyZFRlc3RCZWRPcHRpb25zYFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3VhcmRUZXN0QmVkPFQgZXh0ZW5kcyBHdWFyZENsYXNzPihyb290R3VhcmQ6IFR5cGU8VD4sIG9wdGlvbnM/OiBHdWFyZFRlc3RCZWRPcHRpb25zICYgeyB0eXBlPzogR3VhcmRDYW4gfSk6IEd1YXJkVGVzdEJlZDxUPlxuLyoqXG4gKiBDcmVhdGVzIGEgbmV3IGBHdWFyZFRlc3RCZWRgIHRvIGNvbmZpZ3VyZSB0aGUgY3VzdG9tIHRlc3QgYmVkIGFuZCB3cmFwIHRoZSBhc3NlcnRpb24gdGVzdC5cbiAqIEBwYXJhbSByb290R3VhcmQgLSB0aGUgZGVzY3JpYmVkIGZ1bmN0aW9uIGd1YXJkXG4gKiBAcGFyYW0gb3B0aW9ucyAtIGNoZWNrIGBHdWFyZFRlc3RCZWRPcHRpb25zYFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3VhcmRUZXN0QmVkPFQgZXh0ZW5kcyBHdWFyZEZuPihyb290R3VhcmQ6IFQsIG9wdGlvbnM6IEd1YXJkVGVzdEJlZE9wdGlvbnMgJiB7IHR5cGU6IEd1YXJkQ2FuIH0pOiBHdWFyZFRlc3RCZWQ8VD5cbmV4cG9ydCBmdW5jdGlvbiBndWFyZFRlc3RCZWQ8VD4ocm9vdEd1YXJkOiBWYWxpZEd1YXJkPFQ+LCBvcHRpb25zOiBHdWFyZFRlc3RCZWRPcHRpb25zICYgeyB0eXBlPzogR3VhcmRDYW4gfSA9IHt9KTogR3VhcmRUZXN0QmVkPFQ+IHtcbiAgY29uc3QgZmFjdG9yeSA9IG5ldyBHdWFyZFRlc3RCZWRGYWN0b3J5KHJvb3RHdWFyZCwgb3B0aW9ucyk7XG5cbiAgY29uc3Qge1xuICAgIGh0dHBUZXN0aW5nLFxuICAgIHZlcmlmeUh0dHA6IGRlZmF1bHRWZXJpZnlIdHRwLFxuICB9ID0gZmFjdG9yeVsnaHR0cE9wdGlvbnMnXTtcblxuICBjb25zdCB0YjogR3VhcmRUZXN0QmVkPFQ+ID0gKChhc3NlcnRpb24sIG9wdHMgPSB7fSkgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIHZlcmlmeUh0dHAgPSBkZWZhdWx0VmVyaWZ5SHR0cCxcbiAgICB9ID0gb3B0cztcblxuICAgIHJldHVybiBidWlsZEphc21pbmVDYWxsYmFjayh7XG4gICAgICBjYWxsYmFjazogYXNzZXJ0aW9uLFxuICAgICAgZGVmZXJyZWRUb29sczogZmFjdG9yeVsnZGVmZXJyZWRUb29scyddLFxuICAgICAgcG9zdFRlc3Q6ICh0b29scykgPT4ge1xuICAgICAgICBpZiAoaHR0cFRlc3RpbmcgJiYgdmVyaWZ5SHR0cCkgdG9vbHMuaHR0cC5jb250cm9sbGVyLnZlcmlmeSgpO1xuICAgICAgICB0b29scy5yeFsnY2xlYW5BbGwnXSgpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfSkgYXMgR3VhcmRUZXN0QmVkPFQ+O1xuXG4gIHJldHVybiBtZXJnZUJhc2VGYWN0b3J5KGZhY3RvcnksIHRiKTtcbn1cblxuLyoqXG4gKiBPbmx5IGludm9rZXMgdGhlIFwic2hvdWxkIGNyZWF0ZVwiIHRlc3QuXG4gKlxuICogVG8gYmUgdXNlZCB3aGVuIHRoZXJlIGFyZSBubyBub3RpY2VhYmxlIG9yIHJlbGV2YW50IHRlc3RzIHRvIGJlIHBlcmZvcm1lZCBvbiB0aGlzIGd1YXJkLlxuICpcbiAqIFRoZSB1c2FnZSBvZiB0aGlzIGZ1bmN0aW9uIGFuZCBgZ3VhcmRUZXN0QmVkYCBmdW5jdGlvbiBtdXN0IGJlIG11dHVhbGx5IGV4Y2x1c2l2ZS5cbiAqXG4gKiBAcGFyYW0gcm9vdEd1YXJkIC0gdGhlIGRlc2NyaWJlZCBndWFyZFxuICogQHBhcmFtIG9wdGlvbnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGl0U2hvdWxkQ3JlYXRlR3VhcmQ8VCBleHRlbmRzIEd1YXJkQ2xhc3M+KHJvb3RHdWFyZDogVHlwZTxUPiwgb3B0aW9ucz86IEl0U2hvdWxkQ3JlYXRlR3VhcmRPcHRpb25zKTogdm9pZFxuLyoqXG4gKiBPbmx5IGludm9rZXMgdGhlIFwic2hvdWxkIGNyZWF0ZVwiIHRlc3QuXG4gKlxuICogVG8gYmUgdXNlZCB3aGVuIHRoZXJlIGFyZSBubyBub3RpY2VhYmxlIG9yIHJlbGV2YW50IHRlc3RzIHRvIGJlIHBlcmZvcm1lZCBvbiB0aGlzIGd1YXJkLlxuICpcbiAqIFRoZSB1c2FnZSBvZiB0aGlzIGZ1bmN0aW9uIGFuZCBgZ3VhcmRUZXN0QmVkYCBmdW5jdGlvbiBtdXN0IGJlIG11dHVhbGx5IGV4Y2x1c2l2ZS5cbiAqXG4gKiBAcGFyYW0gcm9vdEd1YXJkIC0gdGhlIGRlc2NyaWJlZCBndWFyZFxuICogQHBhcmFtIG9wdGlvbnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGl0U2hvdWxkQ3JlYXRlR3VhcmQ8VCBleHRlbmRzIEd1YXJkRm4+KHJvb3RHdWFyZDogVCwgb3B0aW9ucz86IEl0U2hvdWxkQ3JlYXRlR3VhcmRPcHRpb25zKTogdm9pZFxuZXhwb3J0IGZ1bmN0aW9uIGl0U2hvdWxkQ3JlYXRlR3VhcmQ8VD4ocm9vdEd1YXJkOiBWYWxpZEd1YXJkPFQ+LCBvcHRpb25zPzogSXRTaG91bGRDcmVhdGVHdWFyZE9wdGlvbnMpOiB2b2lkIHtcbiAgZ3VhcmRUZXN0QmVkKHJvb3RHdWFyZCBhcyBhbnksIG9wdGlvbnMpO1xufVxuXG50eXBlIEl0U2hvdWxkQ3JlYXRlR3VhcmRPcHRpb25zID0gUGljazxHdWFyZFRlc3RCZWRPcHRpb25zLFxuICB8ICdwcm92aWRlcnMnXG4gIHwgJ2ltcG9ydHMnXG4+XG4iXX0=