From 531f88b947b87ec50cef0a45d2aab6140a44e057 Mon Sep 17 00:00:00 2001 From: Chaim Lev-Ari Date: Sun, 27 Aug 2023 13:30:45 +0300 Subject: [PATCH] chore(tests): clean tests output [EE-5758] (#9215) --- .github/workflows/test.yaml | 2 +- Makefile | 2 +- app/__mocks__/svg.js | 2 -- app/__mocks__/svg.tsx | 8 ++++++++ app/react/azure/DashboardView/DashboardView.test.tsx | 4 ++++ app/react/components/EdgeIndicator.tsx | 4 +++- app/react/components/Svg.tsx | 5 +---- .../kubernetes/applications/ConsoleView/ConsoleView.tsx | 1 + app/setup-tests/server-handlers.ts | 4 ++++ jest.config.js | 2 +- package.json | 2 +- 11 files changed, 25 insertions(+), 11 deletions(-) delete mode 100644 app/__mocks__/svg.js create mode 100644 app/__mocks__/svg.tsx diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 43a9b13e2..1b1d6bb34 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -13,7 +13,7 @@ jobs: - run: yarn --frozen-lockfile - name: Run tests - run: yarn jest --maxWorkers=2 + run: make test-client ARGS="--maxWorkers=2" test-server: runs-on: ubuntu-latest steps: diff --git a/Makefile b/Makefile index 7c430f161..3fd0729fb 100644 --- a/Makefile +++ b/Makefile @@ -65,7 +65,7 @@ clean: ## Remove all build and download artifacts test: test-server test-client ## Run all tests test-client: ## Run client tests - yarn test + yarn test $(ARGS) test-server: ## Run server tests cd api && $(GOTESTSUM) --format pkgname-and-test-fails --format-hide-empty-pkg --hide-summary skipped -- -cover ./... diff --git a/app/__mocks__/svg.js b/app/__mocks__/svg.js deleted file mode 100644 index ffe2050a0..000000000 --- a/app/__mocks__/svg.js +++ /dev/null @@ -1,2 +0,0 @@ -export default 'SvgrURL'; -export const ReactComponent = 'div'; diff --git a/app/__mocks__/svg.tsx b/app/__mocks__/svg.tsx new file mode 100644 index 000000000..fdfd70233 --- /dev/null +++ b/app/__mocks__/svg.tsx @@ -0,0 +1,8 @@ +import { forwardRef } from 'react'; + +const SvgrMock = forwardRef((props, ref) => ( + // eslint-disable-next-line react/jsx-props-no-spreading + +)); + +export default SvgrMock; diff --git a/app/react/azure/DashboardView/DashboardView.test.tsx b/app/react/azure/DashboardView/DashboardView.test.tsx index 8695201a9..7c6fad1e7 100644 --- a/app/react/azure/DashboardView/DashboardView.test.tsx +++ b/app/react/azure/DashboardView/DashboardView.test.tsx @@ -71,6 +71,8 @@ test('should correctly show total number of resource groups across multiple subs }); test("when only subscriptions fail to load, don't show the dashboard", async () => { + jest.spyOn(console, 'error').mockImplementation(() => {}); + const { queryByLabelText } = await renderComponent( 1, { 'subscription-1': 1 }, @@ -82,6 +84,8 @@ test("when only subscriptions fail to load, don't show the dashboard", async () }); test('when only resource groups fail to load, still show the subscriptions', async () => { + jest.spyOn(console, 'error').mockImplementation(() => {}); + const { queryByLabelText, findByLabelText } = await renderComponent( 1, { 'subscription-1': 1 }, diff --git a/app/react/components/EdgeIndicator.tsx b/app/react/components/EdgeIndicator.tsx index 12aff5626..195d95df0 100644 --- a/app/react/components/EdgeIndicator.tsx +++ b/app/react/components/EdgeIndicator.tsx @@ -2,6 +2,8 @@ import { Activity } from 'lucide-react'; import { isoDateFromTimestamp } from '@/portainer/filters/filters'; import { Environment } from '@/react/portainer/environments/types'; +import heartbeatup from '@/assets/ico/heartbeat-up.svg?c'; +import heartbeatdown from '@/assets/ico/heartbeat-down.svg?c'; import { EnvironmentStatusBadgeItem } from './EnvironmentStatusBadgeItem'; @@ -35,7 +37,7 @@ export function EdgeIndicator({ > heartbeat diff --git a/app/react/components/Svg.tsx b/app/react/components/Svg.tsx index 5aa055d64..6447679ad 100644 --- a/app/react/components/Svg.tsx +++ b/app/react/components/Svg.tsx @@ -1,6 +1,5 @@ // general icons -import heartbeatup from '@/assets/ico/heartbeat-up.svg?c'; -import heartbeatdown from '@/assets/ico/heartbeat-down.svg?c'; + import dataflow from '@/assets/ico/dataflow-1.svg?c'; import git from '@/assets/ico/git.svg?c'; import kube from '@/assets/ico/kube.svg?c'; @@ -40,8 +39,6 @@ import quay from '@/assets/ico/vendor/quay.svg?c'; const placeholder = Placeholder; export const SvgIcons = { - heartbeatup, - heartbeatdown, dataflow, dockericon, git, diff --git a/app/react/kubernetes/applications/ConsoleView/ConsoleView.tsx b/app/react/kubernetes/applications/ConsoleView/ConsoleView.tsx index bde95561f..3f93941cb 100644 --- a/app/react/kubernetes/applications/ConsoleView/ConsoleView.tsx +++ b/app/react/kubernetes/applications/ConsoleView/ConsoleView.tsx @@ -132,6 +132,7 @@ export function ConsoleView() { value={command} onChange={(e) => setCommand(e.target.value)} id="consoleCommand" + // eslint-disable-next-line jsx-a11y/no-autofocus autoFocus /> diff --git a/app/setup-tests/server-handlers.ts b/app/setup-tests/server-handlers.ts index f520191f8..dd981df25 100644 --- a/app/setup-tests/server-handlers.ts +++ b/app/setup-tests/server-handlers.ts @@ -91,4 +91,8 @@ export const handlers = [ '/api/status', (req, res, ctx) => res(ctx.json({})) ), + rest.get('/api/teams/:id/memberships', (req, res, ctx) => res(ctx.json([]))), + rest.get('/api/endpoints/agent_versions', (req, res, ctx) => + res(ctx.json([])) + ), ]; diff --git a/jest.config.js b/jest.config.js index d44ab60c5..9203cca15 100644 --- a/jest.config.js +++ b/jest.config.js @@ -83,7 +83,7 @@ module.exports = { // A map from regular expressions to module names or to arrays of module names that allow to stub out resources with a single module moduleNameMapper: { '\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': '/app/__mocks__/fileMock.js', - '\\.svg\\?c$': '/app/__mocks__/svg.js', + '\\.svg\\?c$': '/app/__mocks__/svg.tsx', '\\.(css|less)$': '/app/__mocks__/styleMock.js', '^@@/(.*)$': '/app/react/components/$1', '^@/(.*)$': '/app/$1', diff --git a/package.json b/package.json index 8c0556358..1c7c8d179 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "build": "webpack", "format": "prettier --loglevel warn --write \"**/*.{js,css,html,jsx,tsx,ts,json}\"", "lint": "eslint --cache --fix './**/*.{js,jsx,ts,tsx}'", - "test": "jest --silent", + "test": "jest", "sb": "yarn storybook", "storybook": "storybook dev -p 6006", "storybook:build": "storybook build -o ./dist/storybook",