@contract-case/case-core
Version:
Core functionality for the ContractCase contract testing suite
23 lines • 1.25 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.setupExample = void 0;
const setupMock_1 = require("./setupMock");
const stateHandlers_1 = require("./stateHandlers");
const entities_1 = require("../../../entities");
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, entities_1.exampleToNames)(example, parentContext['_case:currentRun:context:testName']);
parentContext.logger.debug(`Beginning setup for example "${exampleName.mockName}"`);
parentContext.logger.deepMaintainerDebug('Context is', JSON.parse(JSON.stringify(parentContext)));
return (0, stateHandlers_1.executeStateSetup)(example, stateSetups, parentContext).then(setupWithTeardown(example, stateSetups));
};
exports.setupExample = setupExample;
//# sourceMappingURL=setup.js.map