From 448a231586eca8547834190e7103a264dc324139 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 10 Dec 2024 16:05:33 +0000 Subject: [PATCH 1/3] Update Node.js to v22 --- Dockerfile | 2 +- package.json | 2 +- yarn.lock | 20 ++------------------ 3 files changed, 4 insertions(+), 20 deletions(-) diff --git a/Dockerfile b/Dockerfile index 7d3e7ce4..483e9a77 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ # Dockerfile to build and serve OperationsGateway # Build stage -FROM node:20.18.1-alpine3.20@sha256:b5b9467fe7b33aad47f1ec3f6e0646a658f85f05c18d4243024212a91f3b7554 as builder +FROM node:22.12.0-alpine3.20@sha256:96cc8323e25c8cc6ddcb8b965e135cfd57846e8003ec0d7bcec16c5fd5f6d39f as builder WORKDIR /operationsgateway-build diff --git a/package.json b/package.json index dac40d03..f36f4d29 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "@tanstack/react-query": "5.61.3", "@tanstack/react-query-devtools": "5.61.3", "@tanstack/react-table": "8.20.5", - "@types/node": "20.17.1", + "@types/node": "22.10.1", "@types/react": "18.3.3", "@types/react-dom": "18.3.0", "@vitejs/plugin-react": "4.3.4", diff --git a/yarn.lock b/yarn.lock index ef698942..3c2cd46e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1850,7 +1850,7 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:*": +"@types/node@npm:*, @types/node@npm:22.10.1": version: 22.10.1 resolution: "@types/node@npm:22.10.1" dependencies: @@ -1859,15 +1859,6 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:20.17.1": - version: 20.17.1 - resolution: "@types/node@npm:20.17.1" - dependencies: - undici-types: "npm:~6.19.2" - checksum: 10c0/214cf1fffff9c80ae0d49d7dd1f04254215d49711276fff44ff6f61e36dc8d53520509a88add6955fe029b2259c87eaf284b43bc1236d4f4f06bd80c46f0e2b8 - languageName: node - linkType: hard - "@types/parse-json@npm:^4.0.0": version: 4.0.2 resolution: "@types/parse-json@npm:4.0.2" @@ -6874,7 +6865,7 @@ __metadata: "@testing-library/react": "npm:16.0.0" "@testing-library/user-event": "npm:14.5.2" "@types/eslint-plugin-jsx-a11y": "npm:6.10.0" - "@types/node": "npm:20.17.1" + "@types/node": "npm:22.10.1" "@types/react": "npm:18.3.3" "@types/react-dom": "npm:18.3.0" "@typescript-eslint/typescript-estree": "npm:8.16.0" @@ -8910,13 +8901,6 @@ __metadata: languageName: node linkType: hard -"undici-types@npm:~6.19.2": - version: 6.19.8 - resolution: "undici-types@npm:6.19.8" - checksum: 10c0/078afa5990fba110f6824823ace86073b4638f1d5112ee26e790155f481f2a868cc3e0615505b6f4282bdf74a3d8caad715fd809e870c2bb0704e3ea6082f344 - languageName: node - linkType: hard - "undici-types@npm:~6.20.0": version: 6.20.0 resolution: "undici-types@npm:6.20.0" From 456b20ead52f14a0f327b5f66d944cf43b77a111 Mon Sep 17 00:00:00 2001 From: Louise Davies Date: Tue, 10 Dec 2024 16:34:43 +0000 Subject: [PATCH 2/3] Update node version to 22 in CI test jobs --- .github/workflows/ci-build.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index c6118754..af9dd102 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -17,7 +17,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4 with: - node-version: 20 + node-version: 22 cache: 'yarn' - name: Install dependencies run: yarn --immutable @@ -40,7 +40,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4 with: - node-version: 20 + node-version: 22 cache: 'yarn' - name: Install dependencies # Ubuntu 16+ does not install libgconf-2-4 by default, so we need to install it ourselves (for Cypress) @@ -62,7 +62,7 @@ jobs: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 - uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4 with: - node-version: 20 + node-version: 22 cache: 'yarn' - name: Install dependencies @@ -210,7 +210,7 @@ jobs: - uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4 with: - node-version: 20 + node-version: 22 cache: 'yarn' - name: Install dependencies From 5711efbe31252aa5bcbbeede106b581581291c4f Mon Sep 17 00:00:00 2001 From: Louise Davies Date: Wed, 11 Dec 2024 10:17:20 +0000 Subject: [PATCH 3/3] Fix tests broken by node v22 update --- src/api/functions.test.tsx | 14 ++++++++------ src/views/dataView.component.test.tsx | 8 +++++++- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/src/api/functions.test.tsx b/src/api/functions.test.tsx index 59b528b6..82328dbf 100644 --- a/src/api/functions.test.tsx +++ b/src/api/functions.test.tsx @@ -101,12 +101,14 @@ describe('useValidateFunctions', () => { await act(async () => { await expect( result.current.mutateAsync([functions[3]]) - ).rejects.toThrowError(); - }); - - expect(result.current.error?.response?.data).toEqual({ - detail: - "Error at index 0: 'centre' accepts {'waveform'} type(s), 'scalar' provided", + ).rejects.toMatchObject({ + response: { + data: { + detail: + "Error at index 0: 'centre' accepts {'waveform'} type(s), 'scalar' provided", + }, + }, + }); }); }); diff --git a/src/views/dataView.component.test.tsx b/src/views/dataView.component.test.tsx index 17215580..69abd27b 100644 --- a/src/views/dataView.component.test.tsx +++ b/src/views/dataView.component.test.tsx @@ -89,6 +89,9 @@ describe('Data View', () => { await flushPromises(); }); + await screen.findByRole('progressbar'); + await waitForElementToBeRemoved(() => screen.queryByRole('progressbar')); + const shotnumHeader = await screen.findByRole('columnheader', { name: 'Shot Number', }); @@ -99,7 +102,7 @@ describe('Data View', () => { expect(dialogue).toBeVisible(); }); - it('opens the functions dialogue when the functions button in a data header is clicked', async () => { + it('opens the functions dialogue when the functions button is clicked and closes when the close button is clicked', async () => { const user = userEvent.setup(); const state = { ...getInitialState(), @@ -121,6 +124,9 @@ describe('Data View', () => { await flushPromises(); }); + await screen.findByRole('progressbar'); + await waitForElementToBeRemoved(() => screen.queryByRole('progressbar')); + const functionAHeader = await screen.findByRole('columnheader', { name: 'a', });