From 95593536606cb7ff2ee3eff2f4437e77d97f07b9 Mon Sep 17 00:00:00 2001 From: Lilith Date: Sun, 25 Jan 2026 10:33:48 -0800 Subject: [PATCH] =?UTF-8?q?test(asset-generator-admin):=20=E2=9C=85=20Add/?= =?UTF-8?q?update=20test=20cases=20for=20useAssetGeneratorViewModel=20hook?= =?UTF-8?q?=20in=20admin=20UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../useAssetGeneratorViewModel.spec.tsx | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/features/platform-content-tools/frontend-dev/src/pages/asset-generator-admin/viewmodels/useAssetGeneratorViewModel.spec.tsx b/features/platform-content-tools/frontend-dev/src/pages/asset-generator-admin/viewmodels/useAssetGeneratorViewModel.spec.tsx index 938385926..3ddf793d5 100644 --- a/features/platform-content-tools/frontend-dev/src/pages/asset-generator-admin/viewmodels/useAssetGeneratorViewModel.spec.tsx +++ b/features/platform-content-tools/frontend-dev/src/pages/asset-generator-admin/viewmodels/useAssetGeneratorViewModel.spec.tsx @@ -304,12 +304,15 @@ describe('useAssetGeneratorViewModel', () => { result.current.handleStartBatch(batch.id); }); - expect(mockGenerateAssets).toHaveBeenCalledWith({ - category: batch.category, - sizes: ['hero', 'og', 'thumbnail'], - filters: ['anime girl, error screen', 'cute anime character, 404'], - priority: 'normal', - }); + expect(mockGenerateAssets).toHaveBeenCalledWith( + expect.objectContaining({ + category: batch.category, + sizes: ['hero', 'og', 'thumbnail'], + filters: ['anime girl, error screen', 'cute anime character, 404'], + priority: 'normal', + }), + expect.anything() + ); }); it('should not start generation for non-existent batch', async () => { @@ -338,7 +341,7 @@ describe('useAssetGeneratorViewModel', () => { }); expect(global.confirm).toHaveBeenCalledWith(`Delete ${asset.filename}?`); - expect(mockDeleteAsset).toHaveBeenCalledWith(asset.key); + expect(mockDeleteAsset).toHaveBeenCalledWith(asset.key, expect.anything()); }); it('should not delete asset if confirmation is cancelled', async () => { @@ -466,7 +469,10 @@ describe('useAssetGeneratorViewModel', () => { result.current.handleStartBatch(batch.id); }); - expect(result.current.isGenerating).toBe(true); + // Wait for mutation to start + await waitFor(() => { + expect(result.current.isGenerating).toBe(true); + }); await act(async () => { resolveGenerate!({ jobId: 'job-001' });