From c0045a06b4a3ce6a234d683c6e4abf10d96fe458 Mon Sep 17 00:00:00 2001 From: Renaud AMSELLEM Date: Wed, 3 Apr 2024 14:28:03 +0200 Subject: [PATCH] fix(ci): try avoid flaky tests --- apps/admin/package.json | 2 +- libs/ui/jest.config.js | 2 +- .../AttributePicker/AttributePicker.test.tsx | 26 +++++++++---------- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/apps/admin/package.json b/apps/admin/package.json index 62a0dbec9..c2a0bed45 100644 --- a/apps/admin/package.json +++ b/apps/admin/package.json @@ -43,7 +43,7 @@ "start": "vite", "build": "vite build", "test": "jest", - "test:ci": "jest", + "test:ci": "jest --maxWorkers=2", "test:commit": "jest --maxWorkers=50% --onlyChanged", "lint": "eslint src/", "gen_types": "apollo codegen:generate ./src/_gqlTypes --target=typescript --no-addTypename --outputFlat --passthroughCustomScalars --excludes='**/*.test.*' && cd ../../ && yarn prettier --write apps/admin/src/_gqlTypes", diff --git a/libs/ui/jest.config.js b/libs/ui/jest.config.js index 69fe0745b..1d129069f 100644 --- a/libs/ui/jest.config.js +++ b/libs/ui/jest.config.js @@ -16,6 +16,6 @@ module.exports = { }, transformIgnorePatterns: ['node_modules'], testRegex: '.test.(ts|tsx)$', - testTimeout: 60000, + testTimeout: 60_000, moduleNameMapper: require('../../jestModuleNameMapper') }; diff --git a/libs/ui/src/components/AttributePicker/AttributePicker.test.tsx b/libs/ui/src/components/AttributePicker/AttributePicker.test.tsx index f34fd250b..f7b80afad 100644 --- a/libs/ui/src/components/AttributePicker/AttributePicker.test.tsx +++ b/libs/ui/src/components/AttributePicker/AttributePicker.test.tsx @@ -18,13 +18,9 @@ window.matchMedia = query => ({ dispatchEvent: jest.fn() }); -jest.mock('../EditAttributeModal', () => { - return { - EditAttributeModal: () => { - return
EditAttribute
; - } - }; -}); +jest.mock('../EditAttributeModal', () => ({ + EditAttributeModal: () =>
EditAttribute
+})); jest.mock('../../hooks/useSharedTranslation/useSharedTranslation'); @@ -87,9 +83,11 @@ describe('AttributePicker', () => { mocks: baseMocks }); - await waitFor(() => expect(screen.getByText('attributeA')).toBeInTheDocument()); - expect(screen.getByText('attributeB')).toBeInTheDocument(); - expect(screen.getByText('attributeC')).toBeInTheDocument(); + await waitFor(() => { + expect(screen.getByText('attributeA')).toBeInTheDocument(); + expect(screen.getByText('attributeB')).toBeInTheDocument(); + expect(screen.getByText('attributeC')).toBeInTheDocument(); + }); }); test('Can filter list', async () => { @@ -119,9 +117,11 @@ describe('AttributePicker', () => { const mockHandleSubmit = jest.fn(); render(, {mocks: mocksWithFilters}); - await waitFor(() => expect(screen.getByText('attributeA')).toBeInTheDocument()); - expect(screen.getByText('attributeB')).toBeInTheDocument(); - expect(screen.getByText('attributeC')).toBeInTheDocument(); + await waitFor(() => { + expect(screen.getByText('attributeA')).toBeInTheDocument(); + expect(screen.getByText('attributeB')).toBeInTheDocument(); + expect(screen.getByText('attributeC')).toBeInTheDocument(); + }); await userEvent.type(screen.getByRole('textbox'), 'attributeA{Enter}'); expect(screen.getByRole('textbox')).toHaveValue('attributeA');