diff options
Diffstat (limited to 'packages/idb-bridge/src/util/makeStoreKeyValue.test.ts')
-rw-r--r-- | packages/idb-bridge/src/util/makeStoreKeyValue.test.ts | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/packages/idb-bridge/src/util/makeStoreKeyValue.test.ts b/packages/idb-bridge/src/util/makeStoreKeyValue.test.ts new file mode 100644 index 000000000..7820875c3 --- /dev/null +++ b/packages/idb-bridge/src/util/makeStoreKeyValue.test.ts @@ -0,0 +1,42 @@ +import test from 'ava'; +import { makeStoreKeyValue } from "./makeStoreKeyValue"; + +test("basics", (t) => { + let result; + + result = makeStoreKeyValue({ name: "Florian" }, undefined, 42, true, "id"); + t.is(result.updatedKeyGenerator, 43); + t.is(result.key, 42); + t.is(result.value.name, "Florian"); + t.is(result.value.id, 42); + + result = makeStoreKeyValue({ name: "Florian", id: 10 }, undefined, 5, true, "id"); + t.is(result.updatedKeyGenerator, 11); + t.is(result.key, 10); + t.is(result.value.name, "Florian"); + t.is(result.value.id, 10); + + result = makeStoreKeyValue({ name: "Florian", id: 5 }, undefined, 10, true, "id"); + t.is(result.updatedKeyGenerator, 10); + t.is(result.key, 5); + t.is(result.value.name, "Florian"); + t.is(result.value.id, 5); + + result = makeStoreKeyValue({ name: "Florian", id: "foo" }, undefined, 10, true, "id"); + t.is(result.updatedKeyGenerator, 10); + t.is(result.key, "foo"); + t.is(result.value.name, "Florian"); + t.is(result.value.id, "foo"); + + result = makeStoreKeyValue({ name: "Florian" }, "foo", 10, true, null); + t.is(result.updatedKeyGenerator, 10); + t.is(result.key, "foo"); + t.is(result.value.name, "Florian"); + t.is(result.value.id, undefined); + + result = makeStoreKeyValue({ name: "Florian" }, undefined, 10, true, null); + t.is(result.updatedKeyGenerator, 11); + t.is(result.key, 10); + t.is(result.value.name, "Florian"); + t.is(result.value.id, undefined); +}); |