From e7fd2be8f5cab33e5b0b03c4aa6c64aa715c6e12 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Sun, 13 Oct 2024 12:06:26 +0200 Subject: [PATCH] update tests --- test/drivers/db0.test.ts | 86 +++++++++++++++++++--------------------- 1 file changed, 40 insertions(+), 46 deletions(-) diff --git a/test/drivers/db0.test.ts b/test/drivers/db0.test.ts index 6d3bf8bf..11f85c10 100644 --- a/test/drivers/db0.test.ts +++ b/test/drivers/db0.test.ts @@ -1,53 +1,47 @@ -import { createDatabase } from "db0"; -import libSql from "db0/connectors/libsql/node"; -import pglite from "db0/connectors/pglite"; import { afterAll, describe, expect } from "vitest"; +import { createDatabase } from "db0"; import db0Driver from "../../src/drivers/db0"; import { testDriver } from "./utils"; -describe("drivers: db0 - LibSQL", () => { - const db = createDatabase( - libSql({ - url: ":memory:", - }) - ); - - afterAll(async () => { - await db.sql`DROP TABLE IF EXISTS unstorage`; - }); - - testDriver({ - driver: db0Driver({ database: db }), - additionalTests: async (ctx) => { - await ctx.storage.setItem("meta:test", "test_data"); - - expect(await ctx.storage.getMeta("meta:test")).toMatchObject({ - birthtime: expect.any(Date), - mtime: expect.any(Date), - }); +const drivers = [ + { + name: "libsql", + async getDB() { + const libSQL = await import("db0/connectors/libsql/node").then( + (m) => m.default + ); + return createDatabase(libSQL({ url: ":memory:" })); }, - }); -}); - -describe("drivers: db0 - PGlite", async () => { - const db = createDatabase(pglite()); - - afterAll(async () => { - await db.sql`DROP TABLE IF EXISTS custom_unstorage_table`; - }); - - testDriver({ - driver: db0Driver({ - database: db, - table: "custom_unstorage_table", - }), - additionalTests: async (ctx) => { - await ctx.storage.setItem("meta:test", "test_data"); - - expect(await ctx.storage.getMeta("meta:test")).toMatchObject({ - birthtime: expect.any(Date), - mtime: expect.any(Date), - }); + }, + { + name: "pglite", + async getDB() { + const pglite = await import("db0/connectors/pglite").then( + (m) => m.default + ); + return createDatabase(pglite()); }, + }, +]; + +for (const driver of drivers) { + describe(`drivers: db0 - ${driver.name}`, async () => { + const db = await driver.getDB(); + + afterAll(async () => { + await db.sql`DROP TABLE IF EXISTS unstorage`; + }); + + testDriver({ + driver: db0Driver({ database: db }), + additionalTests: async (ctx) => { + await ctx.storage.setItem("meta:test", "test_data"); + + expect(await ctx.storage.getMeta("meta:test")).toMatchObject({ + birthtime: expect.any(Date), + mtime: expect.any(Date), + }); + }, + }); }); -}); +}