From 08a9819d760578c91592b3ca472ecacf0874e7ac Mon Sep 17 00:00:00 2001 From: MechaCat02 Date: Mon, 13 Jul 2026 22:21:47 +0200 Subject: [PATCH] test: await async render in AddToCollectionModal collection-name assertion FE-2's CancellableLoader hop renders the list one microtask after the test's fixed tick budget; switch getByText -> findByText (async retry). Fixes a regression merged in ac5641b (FE-2 landed without running this component test). Co-Authored-By: Claude Opus 4.8 --- frontend/package-lock.json | 16 ++-------------- .../AddToCollectionModal.svelte.test.ts | 6 +++++- 2 files changed, 7 insertions(+), 15 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 9d348d7..2230f73 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -1,12 +1,12 @@ { "name": "mangalord-frontend", - "version": "0.109.1", + "version": "0.128.24", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "mangalord-frontend", - "version": "0.109.1", + "version": "0.128.24", "devDependencies": { "@lucide/svelte": "^1.16.0", "@playwright/test": "^1.48.0", @@ -169,7 +169,6 @@ } ], "license": "MIT", - "peer": true, "engines": { "node": ">=18" }, @@ -193,7 +192,6 @@ } ], "license": "MIT", - "peer": true, "engines": { "node": ">=18" } @@ -1157,7 +1155,6 @@ "integrity": "sha512-mQjlkNo+rJvpln7V2IGY2j99BqhcFbS4UN0AQNKNYfhBAFZTuCDAdW3a1sgf330mvtNvsBXn3HpAhcmvdJTcIQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@standard-schema/spec": "^1.0.0", "@sveltejs/acorn-typescript": "^1.0.5", @@ -1200,7 +1197,6 @@ "integrity": "sha512-0ba1RQ/PHen5FGpdSrW7Y3fAMQjrXantECALeOiOdBdzR5+5vPP6HVZRLmZaQL+W8m++o+haIAKq5qT+MiZ7VA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@sveltejs/vite-plugin-svelte-inspector": "^3.0.0-next.0||^3.0.0", "debug": "^4.3.7", @@ -1359,7 +1355,6 @@ "integrity": "sha512-dyh/xO2Fh5bYrfWaaqGrRQQGkNdmYw6AmaAUvYeUMNTWQtvb796ikLdmTchRmOlOiIJ1TDXfWgVx1QkUlQ6Hew==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "undici-types": "~6.21.0" } @@ -1507,7 +1502,6 @@ "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", "dev": true, "license": "MIT", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -2249,7 +2243,6 @@ "integrity": "sha512-8i7LzZj7BF8uplX+ZyOlIz86V6TAsSs+np6m1kpW9u0JWi4z/1t+FzcK1aek+ybTnAC4KhBL4uXCNT0wcUIeCw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "cssstyle": "^4.1.0", "data-urls": "^5.0.0", @@ -2638,7 +2631,6 @@ "integrity": "sha512-WHeFSbZYsPu3+bLoNRUuAO+wavNlocOPf3wSHTP7hcFKVnJeWsYlCDbr3mTS14FCizf9ccIxXA8sGL8zKeQN3g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@types/estree": "1.0.8" }, @@ -2810,7 +2802,6 @@ "integrity": "sha512-ymI5ykLPwIHW839E053FQbI1G+jnRFJEw3Kv5Y4njixVWywQBx+NUFpkkKyk5LIb36Fg9DVXSYpqiGekLD0hyw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@jridgewell/remapping": "^2.3.4", "@jridgewell/sourcemap-codec": "^1.5.0", @@ -2997,7 +2988,6 @@ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -3019,7 +3009,6 @@ "integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "esbuild": "^0.21.3", "postcss": "^8.4.43", @@ -3138,7 +3127,6 @@ "integrity": "sha512-MSmPM9REYqDGBI8439mA4mWhV5sKmDlBKWIYbA3lRb2PTHACE0mgKwA8yQ2xq9vxDTuk4iPrECBAEW2aoFXY0Q==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@vitest/expect": "2.1.9", "@vitest/mocker": "2.1.9", diff --git a/frontend/src/lib/components/AddToCollectionModal.svelte.test.ts b/frontend/src/lib/components/AddToCollectionModal.svelte.test.ts index 47a22aa..7422a99 100644 --- a/frontend/src/lib/components/AddToCollectionModal.svelte.test.ts +++ b/frontend/src/lib/components/AddToCollectionModal.svelte.test.ts @@ -84,7 +84,11 @@ describe('AddToCollectionModal', () => { expect(pageCollectionsApi.getMyCollectionsContainingPage).toHaveBeenCalledWith('p1'); expect(collectionsApi.getMyCollectionsContaining).not.toHaveBeenCalled(); - expect(screen.getByText('Favorite panels')).toBeTruthy(); + // Await the async render: load() resolves the collections over a few + // microtasks (through the CancellableLoader), so assert with findByText + // (retries until it appears) rather than a synchronous getByText tied to + // a fixed tick budget. + expect(await screen.findByText('Favorite panels')).toBeTruthy(); }); it('does not load when closed', () => {