UNPKG

@case-contract-testing/case

Version:

Next-generation contract testing suite

23 lines (22 loc) 1.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.setupExample = void 0; const contract_1 = require("../../../entities/contract"); const setupMock_1 = require("./setupMock"); const stateHandlers_1 = require("./stateHandlers"); const setupWithTeardown = (example, stateSetups) => (context) => { context.logger.maintainerDebug(`Calling setupUnhandledAssert`); return (0, setupMock_1.setupMock)(example.mock, context).then((assertable) => ({ ...assertable, assert: () => assertable .assert() .finally(() => (0, stateHandlers_1.executeStateTeardown)(example, stateSetups, context)), })); }; const setupExample = (example, stateSetups, parentContext) => { const exampleName = (0, contract_1.exampleToNames)(example, parentContext['case:currentRun:context:testName']); parentContext.logger.debug(`Beginning setup for example "${exampleName.mockName}"`); parentContext.logger.maintainerDebug('Context is', JSON.stringify(parentContext, null, 2)); return (0, stateHandlers_1.executeStateSetup)(example, stateSetups, parentContext).then(setupWithTeardown(example, stateSetups)); }; exports.setupExample = setupExample;