UNPKG

testdouble

Version:

A minimal test double library for TDD with JavaScript

35 lines (34 loc) • 993 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const lodash_1 = require("../wrap/lodash"); const resetListeners = []; let globalStore = []; const store = { onReset(func) { resetListeners.push(func); }, reset() { globalStore = []; resetListeners.forEach(func => func()); }, for(testDouble, createIfNew = true) { const entry = lodash_1.default.find(globalStore, e => testDouble === e.testDouble || testDouble === e.alias); if (entry) { return entry; } else if (createIfNew) { return lodash_1.default.tap({ testDouble, stubbings: [], calls: [], verifications: [] }, function (newEntry) { return globalStore.push(newEntry); }); } }, registerAlias(testDouble, alias) { store.for(testDouble).alias = alias; } }; exports.default = store;