diff --git a/packages/core/__tests__/utils/index.ts b/packages/core/__tests__/utils/index.ts
index 44397a00c..7f22b889b 100644
--- a/packages/core/__tests__/utils/index.ts
+++ b/packages/core/__tests__/utils/index.ts
@@ -19,17 +19,18 @@ along with this program. If not, see .
import DB from "../../src/api";
import { NodeStorageInterface } from "../../__mocks__/node-storage.mock";
-import dayjs from "dayjs";
-import { groupArray } from "../../src/utils/grouping";
import { FS } from "../../__mocks__/fs.mock";
import Compressor from "../../__mocks__/compressor.mock";
-import { expect } from "vitest";
import { EventSourcePolyfill as EventSource } from "event-source-polyfill";
import { randomBytes } from "../../src/utils/random";
-import { GroupOptions, Note, Notebook } from "../../src/types";
+import { Note, Notebook } from "../../src/types";
import { NoteContent } from "../../src/collections/session-content";
import { SqliteDialect } from "kysely";
-import BetterSQLite3 from "better-sqlite3";
+import BetterSQLite3 from "better-sqlite3-multiple-ciphers";
+import path from "path";
+import { tmpdir } from "os";
+import { getId } from "../../src/utils/id";
+import { existsSync, mkdirSync } from "fs";
const TEST_NOTEBOOK: Partial = {
title: "Test Notebook",
@@ -41,7 +42,10 @@ const TEST_NOTEBOOK2: Partial = {
description: "Test Description 2"
};
-function databaseTest() {
+function databaseTest(type: "memory" | "persistent" = "memory") {
+ const dir = path.join(tmpdir(), "notesnook-tests-tmp");
+ if (!existsSync(dir)) mkdirSync(dir, { recursive: true });
+ const dbPath = path.join(dir, `notesnook-${getId()}.sql`);
const db = new DB();
db.setup({
storage: new NodeStorageInterface(),
@@ -51,8 +55,11 @@ function databaseTest() {
sqliteOptions: {
dialect: (name) =>
new SqliteDialect({
- database: BetterSQLite3(":memory:").unsafeMode(true)
- })
+ database: BetterSQLite3(
+ type === "persistent" ? dbPath : ":memory:"
+ ).unsafeMode(true)
+ }),
+ password: type === "persistent" ? "iamalongpassword" : undefined
},
batchSize: 500
});
@@ -89,28 +96,6 @@ const noteTest = (
return { db, id };
});
-const groupedTest = (type: GroupOptions["groupBy"]) =>
- noteTest().then(async ({ db }) => {
- await db.notes.add({ ...TEST_NOTE, title: "HELLO WHAT!" });
- await db.notes.add({
- ...TEST_NOTE,
- title: "Some title",
- dateCreated: dayjs().startOf("week").subtract(1, "day").unix()
- });
- await db.notes.add({
- ...TEST_NOTE,
- title: "Some title and title title",
- dateCreated: dayjs().subtract(2, "weeks").unix()
- });
- const grouped = groupArray(db.notes.all, {
- groupBy: type,
- sortDirection: "desc",
- sortBy: "dateCreated"
- });
- expect(grouped.length).toBeGreaterThan(1);
- expect(grouped.some((i) => i.type === "header")).toBe(true);
- });
-
function delay(ms: number) {
return new Promise((resolve) => setTimeout(resolve, ms));
}
@@ -141,7 +126,6 @@ export {
databaseTest,
notebookTest,
noteTest,
- groupedTest,
IMG_CONTENT,
IMG_CONTENT_WITHOUT_HASH,
TEST_NOTEBOOK,