aboutsummaryrefslogtreecommitdiffstats
path: root/packages/trpc/routers/bookmarks.test.ts
diff options
context:
space:
mode:
authorMohamed Bassem <me@mbassem.com>2025-02-23 22:50:12 +0000
committerMohamed Bassem <me@mbassem.com>2025-02-23 23:16:52 +0000
commit14e4fed321634dc014ad2f15cafef3ed0123855e (patch)
tree0b7b1f1157bacea13b93161c07ab48561544fd28 /packages/trpc/routers/bookmarks.test.ts
parente5cb9aa848009ea22c1385e4d33b7edf372979fb (diff)
downloadkarakeep-14e4fed321634dc014ad2f15cafef3ed0123855e.tar.zst
feat: Add a setting page to manage assets. Fixes #730
Diffstat (limited to 'packages/trpc/routers/bookmarks.test.ts')
-rw-r--r--packages/trpc/routers/bookmarks.test.ts119
1 files changed, 2 insertions, 117 deletions
diff --git a/packages/trpc/routers/bookmarks.test.ts b/packages/trpc/routers/bookmarks.test.ts
index d2944c40..d89f80fd 100644
--- a/packages/trpc/routers/bookmarks.test.ts
+++ b/packages/trpc/routers/bookmarks.test.ts
@@ -1,7 +1,7 @@
import { assert, beforeEach, describe, expect, test } from "vitest";
-import { assets, AssetTypes, bookmarks } from "@hoarder/db/schema";
-import { BookmarkTypes, ZAssetType } from "@hoarder/shared/types/bookmarks";
+import { bookmarks } from "@hoarder/db/schema";
+import { BookmarkTypes } from "@hoarder/shared/types/bookmarks";
import type { CustomTestContext } from "../testUtils";
import { defaultBeforeEach } from "../testUtils";
@@ -341,119 +341,4 @@ describe("Bookmark Routes", () => {
await validateWithLimit(10);
await validateWithLimit(100);
});
-
- test<CustomTestContext>("mutate assets", async ({ apiCallers, db }) => {
- const api = apiCallers[0].bookmarks;
- const userId = await apiCallers[0].users.whoami().then((u) => u.id);
-
- const bookmark = await api.createBookmark({
- url: "https://google.com",
- type: BookmarkTypes.LINK,
- });
- await Promise.all([
- db.insert(assets).values({
- id: "asset1",
- assetType: AssetTypes.LINK_SCREENSHOT,
- bookmarkId: bookmark.id,
- userId,
- }),
- db.insert(assets).values({
- id: "asset2",
- assetType: AssetTypes.LINK_BANNER_IMAGE,
- bookmarkId: bookmark.id,
- userId,
- }),
- db.insert(assets).values({
- id: "asset3",
- assetType: AssetTypes.LINK_FULL_PAGE_ARCHIVE,
- bookmarkId: bookmark.id,
- userId,
- }),
- db.insert(assets).values({
- id: "asset4",
- assetType: AssetTypes.UNKNOWN,
- bookmarkId: null,
- userId,
- }),
- db.insert(assets).values({
- id: "asset5",
- assetType: AssetTypes.UNKNOWN,
- bookmarkId: null,
- userId,
- }),
- db.insert(assets).values({
- id: "asset6",
- assetType: AssetTypes.UNKNOWN,
- bookmarkId: null,
- userId,
- }),
- ]);
-
- const validateAssets = async (
- expected: { id: string; assetType: ZAssetType }[],
- ) => {
- const b = await api.getBookmark({ bookmarkId: bookmark.id });
- b.assets.sort((a, b) => a.id.localeCompare(b.id));
- expect(b.assets).toEqual(expected);
- };
-
- await api.attachAsset({
- bookmarkId: bookmark.id,
- asset: {
- id: "asset4",
- assetType: "screenshot",
- },
- });
-
- await validateAssets([
- { id: "asset1", assetType: "screenshot" },
- { id: "asset2", assetType: "bannerImage" },
- { id: "asset3", assetType: "fullPageArchive" },
- { id: "asset4", assetType: "screenshot" },
- ]);
-
- await api.replaceAsset({
- bookmarkId: bookmark.id,
- oldAssetId: "asset1",
- newAssetId: "asset5",
- });
-
- await validateAssets([
- { id: "asset2", assetType: "bannerImage" },
- { id: "asset3", assetType: "fullPageArchive" },
- { id: "asset4", assetType: "screenshot" },
- { id: "asset5", assetType: "screenshot" },
- ]);
-
- await api.detachAsset({
- bookmarkId: bookmark.id,
- assetId: "asset4",
- });
-
- await validateAssets([
- { id: "asset2", assetType: "bannerImage" },
- { id: "asset3", assetType: "fullPageArchive" },
- { id: "asset5", assetType: "screenshot" },
- ]);
-
- // You're not allowed to attach/replace a fullPageArchive
- await expect(
- async () =>
- await api.replaceAsset({
- bookmarkId: bookmark.id,
- oldAssetId: "asset3",
- newAssetId: "asset6",
- }),
- ).rejects.toThrow(/You can't attach this type of asset/);
- await expect(
- async () =>
- await api.attachAsset({
- bookmarkId: bookmark.id,
- asset: {
- id: "asset6",
- assetType: "fullPageArchive",
- },
- }),
- ).rejects.toThrow(/You can't attach this type of asset/);
- });
});