From 6886385ce239f63271639f047093ba307c87f2e6 Mon Sep 17 00:00:00 2001 From: Mohamed Bassem Date: Mon, 8 Dec 2025 10:47:13 +0000 Subject: fix: fix correctly accounting for text bookmark in import sessions. #2208 --- packages/trpc/routers/importSessions.test.ts | 30 ++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'packages/trpc/routers/importSessions.test.ts') diff --git a/packages/trpc/routers/importSessions.test.ts b/packages/trpc/routers/importSessions.test.ts index b28d1421..9ef0de6f 100644 --- a/packages/trpc/routers/importSessions.test.ts +++ b/packages/trpc/routers/importSessions.test.ts @@ -1,6 +1,8 @@ +import { eq } from "drizzle-orm"; import { beforeEach, describe, expect, test } from "vitest"; import { z } from "zod"; +import { bookmarks } from "@karakeep/db/schema"; import { BookmarkTypes, zNewBookmarkRequestSchema, @@ -117,6 +119,34 @@ describe("ImportSessions Routes", () => { }); }); + test("marks text-only imports as completed when tagging succeeds", async ({ + apiCallers, + db, + }) => { + const api = apiCallers[0]; + const session = await api.importSessions.createImportSession({ + name: "Text Import Session", + }); + const bookmarkId = await createTestBookmark(api, session.id); + + await db + .update(bookmarks) + .set({ taggingStatus: "success" }) + .where(eq(bookmarks.id, bookmarkId)); + + const stats = await api.importSessions.getImportSessionStats({ + importSessionId: session.id, + }); + + expect(stats).toMatchObject({ + completedBookmarks: 1, + pendingBookmarks: 0, + failedBookmarks: 0, + totalBookmarks: 1, + status: "completed", + }); + }); + test("list import sessions returns all sessions", async ({ apiCallers, }) => { -- cgit v1.2.3-70-g09d2