@x5e/gink
Version:
an eventually consistent database
41 lines • 1.63 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const HasMap_1 = require("../implementation/HasMap");
const utils_1 = require("../implementation/utils");
it("track two bundles", async () => {
await utils_1.librariesReady;
const chainTracker = new HasMap_1.HasMap({});
const medallion = 521994040637930;
const chainStart = 1662789574924000;
const secondTime = 1662789590300000;
const bundleInfo1 = {
timestamp: chainStart,
medallion,
chainStart,
comment: "node instance",
hashCode: (0, utils_1.digest)(utils_1.emptyBytes),
};
chainTracker.markAsHaving(bundleInfo1, true);
const bundleInfo2 = {
hashCode: (0, utils_1.digest)(utils_1.emptyBytes),
timestamp: secondTime,
medallion,
chainStart,
priorTime: chainStart,
comment: "hello",
};
chainTracker.markAsHaving(bundleInfo2, true);
const bundleInfo3 = chainTracker.getBundleInfo([medallion, chainStart]);
if (!bundleInfo3)
throw new Error("missing");
(0, utils_1.ensure)(bundleInfo3.medallion === medallion);
(0, utils_1.ensure)(bundleInfo3.chainStart === chainStart);
(0, utils_1.ensure)(bundleInfo3.timestamp === secondTime);
(0, utils_1.ensure)(bundleInfo3.priorTime === chainStart);
(0, utils_1.ensure)(bundleInfo3.comment === "hello");
const chains = chainTracker.getChains();
(0, utils_1.ensure)(chains.length === 1);
(0, utils_1.ensure)(chains[0][0] === medallion);
(0, utils_1.ensure)(chains[0][1] === chainStart);
});
//# sourceMappingURL=ChainTracker.test.js.map