MCPcopy
hub / github.com/streetwriters/notesnook / databaseTest

Function databaseTest

packages/core/__tests__/utils/index.ts:47–74  ·  view source on GitHub ↗
(type: "memory" | "persistent" = "memory")

Source from the content-addressed store, hash-verified

45};
46
47function databaseTest(type: "memory" | "persistent" = "memory") {
48 const dir = path.join(tmpdir(), "notesnook-tests-tmp");
49 if (!existsSync(dir)) mkdirSync(dir, { recursive: true });
50 const dbPath = path.join(dir, `notesnook-${getId()}.sql`);
51 const db = new DB();
52 const betterSqliteDb = BetterSQLite3(
53 type === "persistent" ? dbPath : ":memory:"
54 ).unsafeMode(true);
55 db.setup({
56 storage: new NodeStorageInterface(),
57 eventsource: EventSource,
58 fs: FS,
59 compressor: async () => Compressor,
60 maxNoteVersions: async () => 1000,
61 sqliteOptions: {
62 dialect: (name) =>
63 new SqliteDialect({
64 database: betterSqliteDb
65 }),
66 password: type === "persistent" ? "iamalongpassword" : undefined
67 },
68 batchSize: 500
69 });
70 betterTrigram.load(betterSqliteDb);
71 fts5Html.load(betterSqliteDb);
72 betterSqliteDb.loadExtension(getLoadablePath());
73 return db.init().then(() => db);
74}
75
76const notebookTest = (notebook = TEST_NOTEBOOK) =>
77 databaseTest().then(async (db) => {

Callers 15

sync.test.jsFile · 0.90
initializeDeviceFunction · 0.90
monographs.test.jsFile · 0.90
collector.test.jsFile · 0.90
merger.test.jsFile · 0.90
shortcuts.test.jsFile · 0.90
settings.test.jsFile · 0.90
lookup.test.jsFile · 0.90
reminders.test.jsFile · 0.90

Calls 4

getIdFunction · 0.85
setupMethod · 0.65
initMethod · 0.65
loadMethod · 0.45

Tested by

no test coverage detected