diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index e0fd12af7d..a400d3345c 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -47,7 +47,7 @@ jobs: - run: python -m pip install tox - run: python -m tox -e ${{ matrix.tox }} - lint_typecheck_webui: + lint_typecheck_test_webui: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 diff --git a/locust/webui/src/components/SwarmForm/tests/SwarmUserClassPicker.test.tsx b/locust/webui/src/components/SwarmForm/tests/SwarmUserClassPicker.test.tsx index d2ebeed5ce..6122edddcd 100644 --- a/locust/webui/src/components/SwarmForm/tests/SwarmUserClassPicker.test.tsx +++ b/locust/webui/src/components/SwarmForm/tests/SwarmUserClassPicker.test.tsx @@ -47,7 +47,7 @@ const defaultProps = { setSwarm: updateSwarm, }; -describe('SwarmForm', () => { +describe('SwarmUserClassPicker', () => { beforeAll(() => server.listen()); afterEach(() => { server.resetHandlers(); @@ -104,8 +104,11 @@ describe('SwarmForm', () => { fireEvent.click(getByRole('button', { name: 'Save' })); }); - await waitFor(async () => { + await waitFor(() => { + expect(updateUserSettings).toHaveBeenCalled(); + const submittedData = updateUserSettings.mock.calls[0][0]; + if (submittedData) { expect(submittedData).toEqual({ ...mockUsers.Example, userClassName: 'Example' }); } @@ -152,8 +155,11 @@ describe('SwarmForm', () => { fireEvent.click(getByRole('button', { name: 'Save' })); }); - await waitFor(async () => { + await waitFor(() => { + expect(updateUserSettings).toHaveBeenCalled(); + const submittedData = updateUserSettings.mock.calls[0][0]; + if (submittedData) { expect(submittedData).toEqual({ ...updatedUser, userClassName: 'Example' }); expect(store.getState().swarm.users.Example).toEqual(updatedUser); diff --git a/locust/webui/src/test/setup.ts b/locust/webui/src/test/setup.ts index f9e29a8cac..aa4732c0aa 100644 --- a/locust/webui/src/test/setup.ts +++ b/locust/webui/src/test/setup.ts @@ -1,5 +1,5 @@ import { cleanup } from '@testing-library/react'; -import { afterEach, vi } from 'vitest'; +import { afterAll, afterEach, vi } from 'vitest'; import { TEST_BASE_API } from 'test/constants'; import { swarmStateMock } from 'test/mocks/swarmState.mock'; @@ -25,3 +25,8 @@ vi.mock('echarts', async () => { return { ...actual, init: (...args: any[]) => actual.init(...args, { width: 100, height: 100 }) }; }); + +afterAll(() => { + cleanup(); + vi.clearAllMocks(); +});