wallet-core/packages/idb-bridge/src/util/makeStoreKeyValue.test.ts

43 lines
1.4 KiB
TypeScript
Raw Normal View History

2019-06-21 19:18:36 +02:00
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);
});