Files
zopu-code/repos/effect-smol/packages/platform-browser/test/BrowserKeyValueStore.test.ts

24 lines
885 B
TypeScript

import * as BrowserKeyValueStore from "@effect/platform-browser/BrowserKeyValueStore"
import * as IndexedDb from "@effect/platform-browser/IndexedDb"
import { describe } from "@effect/vitest"
import { Layer } from "effect"
import { testLayer } from "effect-test/unstable/persistence/KeyValueStore.test"
import { IDBKeyRange, indexedDB } from "fake-indexeddb"
describe("KeyValueStore / layerLocalStorage", () => testLayer(BrowserKeyValueStore.layerLocalStorage))
describe("KeyValueStore / layerSessionStorage", () => testLayer(BrowserKeyValueStore.layerSessionStorage))
describe("KeyValueStore / layerIndexedDb", () => {
const layerFakeIndexedDb = Layer.succeed(
IndexedDb.IndexedDb,
IndexedDb.make({ indexedDB, IDBKeyRange })
)
testLayer(
BrowserKeyValueStore.layerIndexedDb({ database: "kvs_test_db" }).pipe(
Layer.provide(layerFakeIndexedDb)
)
)
})