UNPKG

@x5e/gink

Version:

an eventually consistent database

96 lines (92 loc) 3.91 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const implementation_1 = require("../implementation"); it("test naming", async function () { for (const store of [ new implementation_1.IndexedDbStore("Database.propertyReset.test", true), new implementation_1.MemoryStore(true), ]) { await store.ready; const db = new implementation_1.Database({ store }); await db.ready; const box = await implementation_1.Box.create(); await box.setName("foo"); const name = await box.getName(); (0, implementation_1.ensure)(name == "foo"); } }); /* it("test naming", async function () { for (const store of [ new IndexedDbStore("Database.propertyReset.test", true), new MemoryStore(true), ]) { await store.ready; const db = new Database({store}); await db.ready; const root = Directory.get(); const prop1 = await Property.create(); const prop2 = await Property.create(); await prop1.set(root, "foo"); await prop2.set(root, "bar"); await root.setName("root"); const resetTo = generateTimestamp(); await prop1.set(root, "foo2"); await prop2.set(root, "bar2"); const prop3 = await Property.create(); await prop3.set(root, "baz2"); await root.setName("root2"); ensure((await prop1.get(root)) === "foo2"); ensure((await prop2.get(root)) === "bar2"); ensure((await prop3.get(root)) === "baz2"); ensure((await root.getName()) === "root2"); await root.resetProperties(resetTo); ensure((await prop1.get(root)) === "foo"); ensure((await prop2.get(root)) === "bar"); ensure((await prop3.get(root)) === undefined); ensure((await root.getName()) === "root"); // clear all properties await root.resetProperties(); ensure((await prop1.get(root)) === undefined); ensure((await prop2.get(root)) === undefined); ensure((await prop3.get(root)) === undefined); ensure((await root.getName()) === undefined); // Same test with non-global container const seq = await db.createSequence(); const prop1Seq = await db.createProperty(); const prop2Seq = await db.createProperty(); await prop1Seq.set(seq, "foo"); await prop2Seq.set(seq, "bar"); await seq.setName("seq"); const resetToSeq = generateTimestamp(); await prop1Seq.set(seq, "foo2"); await prop2Seq.set(seq, "bar2"); const prop3Seq = await db.createProperty(); await prop3Seq.set(seq, "baz2"); await seq.setName("seq2"); ensure((await prop1Seq.get(seq)) === "foo2"); ensure((await prop2Seq.get(seq)) === "bar2"); ensure((await prop3Seq.get(seq)) === "baz2"); ensure((await seq.getName()) === "seq2"); await seq.resetProperties(resetToSeq); ensure((await prop1Seq.get(seq)) === "foo"); ensure((await prop2Seq.get(seq)) === "bar"); ensure((await prop3Seq.get(seq)) === undefined); ensure((await seq.getName()) === "seq"); const propValues = Array.from( (await db.store.getContainerProperties(seq)).values() ); ensure(propValues.length === 3); ensure(propValues.find((v) => v === "foo") !== undefined); ensure(propValues.find((v) => v === "bar") !== undefined); ensure(propValues.find((v) => v === "seq") !== undefined); ensure(propValues.find((v) => v === "baz2") === undefined); // clear all properties await seq.resetProperties(); ensure((await prop1Seq.get(seq)) === undefined); ensure((await seq.getName()) === undefined); ensure((await prop2Seq.get(seq)) === undefined); } }); */ //# sourceMappingURL=Container.test.js.map