firestore-in-memory
Version:
A drop-in, in-memory implementation of Firestore useful for testing
37 lines (30 loc) • 989 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _assign = _interopRequireDefault(require("lodash/assign"));
var _createMockFirestoreDocument = _interopRequireDefault(require("./createMockFirestoreDocument"));
var _transaction = _interopRequireDefault(require("./transaction"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const createMockDb = () => {
const mockDb = (0, _createMockFirestoreDocument.default)('', null, {
exists: true
});
(0, _assign.default)(mockDb, {
runTransaction: async func => {
mockDb.transaction = new _transaction.default();
await func(mockDb.transaction);
await mockDb.transaction.commit();
},
reset: () => {
mockDb.children = {};
mockDb.transaction = null;
}
});
mockDb.database = mockDb;
mockDb.reset();
return mockDb;
};
var _default = createMockDb;
exports.default = _default;