diff --git a/packages/tool/site/client/tests/pages/configPage.spec.tsx b/packages/tool/site/client/tests/pages/configPage.spec.tsx
index b8476ad765..6b6722eaf4 100644
--- a/packages/tool/site/client/tests/pages/configPage.spec.tsx
+++ b/packages/tool/site/client/tests/pages/configPage.spec.tsx
@@ -7,12 +7,11 @@ import {AppContextValue} from "../../src"
import {renderWithContext} from "../renderWithContext"
import userEvent from "@testing-library/user-event"
import {axiosInstance} from "../../src/requests/axiosInstance"
-import {internalDev} from "../../src/services/environment"
+import {int, internalDev} from "../../src/services/environment"
import ConfigPage from "../../src/pages/configPage"
import {MemoryRouter} from "react-router-dom"
const baseUrl = "baseUrl/"
-const context: AppContextValue = {baseUrl, environment: internalDev}
const configUrl = `${baseUrl}config`
@@ -21,25 +20,43 @@ const mock = new MockAdapter(axiosInstance)
beforeEach(() => mock.reset())
afterEach(() => mock.reset())
-test("Displays config form", async () => {
- const container = await renderPage()
+test("Displays config form correctly in internal dev", async () => {
+ const context: AppContextValue = {baseUrl, environment: internalDev}
+ const container = await renderPage(context)
expect(screen.getByText("Config")).toBeTruthy()
+ expect(screen.getByText("EPS PR Number")).toBeTruthy()
+ expect(screen.getByText("Use Proxygen deployed APIs")).toBeTruthy()
+ expect(screen.getByText("Use Signing Mock")).toBeTruthy()
+ expect(screen.getByText("Signing PR Number")).toBeTruthy()
+ expect(pretty(container.innerHTML)).toMatchSnapshot()
+})
+
+test("Displays config form correctly in int", async () => {
+ const context: AppContextValue = {baseUrl, environment: int}
+ const container = await renderPage(context)
+
+ expect(screen.getByText("Config")).toBeTruthy()
+ expect(screen.queryByText("EPS PR Number")).toBeNull()
+ expect(screen.getByText("Use Proxygen deployed APIs")).toBeTruthy()
+ expect(screen.queryByText("Use Signing Mock")).toBeNull()
+ expect(screen.queryByText("Signing PR Number")).toBeNull()
expect(pretty(container.innerHTML)).toMatchSnapshot()
})
test("Displays config update result", async () => {
+ const context: AppContextValue = {baseUrl, environment: internalDev}
mock.onAny(configUrl).reply(200, {
success: true
})
- const container = await renderPage()
+ const container = await renderPage(context)
userEvent.click(screen.getByText("Save"))
await waitFor(() => screen.getByText(/Config Saved/))
expect(pretty(container.innerHTML)).toMatchSnapshot()
})
-async function renderPage() {
+async function renderPage(context) {
const {container} = renderWithContext(
, context)
await waitFor(() => screen.getByText("Config"))
return container
From d4fe378500ea72345ffb39e6a2968cba0759ca37 Mon Sep 17 00:00:00 2001
From: Anthony Brown <121869075+anthony-nhs@users.noreply.github.com>
Date: Fri, 7 Feb 2025 12:29:01 +0000
Subject: [PATCH 21/22] test for header
---
.../__snapshots__/pageHeader.spec.tsx.snap | 39 +++++++++++++++++++
.../tests/components/pageHeader.spec.tsx | 32 +++++++++++++++
2 files changed, 71 insertions(+)
create mode 100644 packages/tool/site/client/tests/components/__snapshots__/pageHeader.spec.tsx.snap
create mode 100644 packages/tool/site/client/tests/components/pageHeader.spec.tsx
diff --git a/packages/tool/site/client/tests/components/__snapshots__/pageHeader.spec.tsx.snap b/packages/tool/site/client/tests/components/__snapshots__/pageHeader.spec.tsx.snap
new file mode 100644
index 0000000000..65714baee2
--- /dev/null
+++ b/packages/tool/site/client/tests/components/__snapshots__/pageHeader.spec.tsx.snap
@@ -0,0 +1,39 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`Header renders when logged in 1`] = `
+""
+`;
+
+exports[`Header renders when not logged in 1`] = `
+""
+`;
diff --git a/packages/tool/site/client/tests/components/pageHeader.spec.tsx b/packages/tool/site/client/tests/components/pageHeader.spec.tsx
new file mode 100644
index 0000000000..b4c155bf59
--- /dev/null
+++ b/packages/tool/site/client/tests/components/pageHeader.spec.tsx
@@ -0,0 +1,32 @@
+import {render, waitFor} from "@testing-library/react"
+import {screen} from "@testing-library/dom"
+import pretty from "pretty"
+import * as React from "react"
+import {PageHeader} from "../../src/components/pageHeader"
+import {expect} from "@jest/globals"
+import {MemoryRouter} from "react-router-dom"
+
+test("Header renders when logged in", async () => {
+ const {container} = render(
+
+
+
+ )
+
+ expect(screen.getByText("My Prescriptions")).toBeTruthy()
+
+ expect(pretty(container.innerHTML)).toMatchSnapshot()
+})
+
+test("Header renders when not logged in", async () => {
+ const {container} = render(
+
+
+
+ )
+
+ expect(screen.queryByText("My Prescriptions")).toBeNull()
+
+ expect(pretty(container.innerHTML)).toMatchSnapshot()
+})
+
From 09a92eeeac0e5cb53c8b0abf1cf67efdd56a0d28 Mon Sep 17 00:00:00 2001
From: Anthony Brown <121869075+anthony-nhs@users.noreply.github.com>
Date: Fri, 7 Feb 2025 12:40:52 +0000
Subject: [PATCH 22/22] sonar tweaks
---
packages/tool/site/client/src/components/pageHeader.tsx | 2 +-
packages/tool/site/client/src/pages/configPage.tsx | 2 +-
packages/tool/site/client/tests/components/pageHeader.spec.tsx | 2 +-
.../tool/site/server/src/services/communication/eps-client.ts | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/packages/tool/site/client/src/components/pageHeader.tsx b/packages/tool/site/client/src/components/pageHeader.tsx
index f9dbbf63aa..2a440dbd9c 100644
--- a/packages/tool/site/client/src/components/pageHeader.tsx
+++ b/packages/tool/site/client/src/components/pageHeader.tsx
@@ -2,7 +2,7 @@ import * as React from "react"
import {useContext} from "react"
import {Header, Images} from "nhsuk-react-components"
import {AppContext} from "../index"
-import {isInternalDev, isInternalDevSandbox, isQa, isSandbox} from "../services/environment"
+import {isSandbox} from "../services/environment"
import SessionTimer from "./sessionTimer"
import styled from "styled-components"
diff --git a/packages/tool/site/client/src/pages/configPage.tsx b/packages/tool/site/client/src/pages/configPage.tsx
index 390b74cf35..324c2d3381 100644
--- a/packages/tool/site/client/src/pages/configPage.tsx
+++ b/packages/tool/site/client/src/pages/configPage.tsx
@@ -1,5 +1,5 @@
import * as React from "react"
-import {useContext, useState, useEffect, useCallback} from "react"
+import {useContext, useState, useEffect} from "react"
import {Label, Button, Fieldset, Form, Checkboxes, TextInput} from "nhsuk-react-components"
import {AppContext} from "../index"
import ButtonList from "../components/common/buttonList"
diff --git a/packages/tool/site/client/tests/components/pageHeader.spec.tsx b/packages/tool/site/client/tests/components/pageHeader.spec.tsx
index b4c155bf59..b2feee0585 100644
--- a/packages/tool/site/client/tests/components/pageHeader.spec.tsx
+++ b/packages/tool/site/client/tests/components/pageHeader.spec.tsx
@@ -1,4 +1,4 @@
-import {render, waitFor} from "@testing-library/react"
+import {render} from "@testing-library/react"
import {screen} from "@testing-library/dom"
import pretty from "pretty"
import * as React from "react"
diff --git a/packages/tool/site/server/src/services/communication/eps-client.ts b/packages/tool/site/server/src/services/communication/eps-client.ts
index d563b8120e..0f5327b838 100644
--- a/packages/tool/site/server/src/services/communication/eps-client.ts
+++ b/packages/tool/site/server/src/services/communication/eps-client.ts
@@ -69,7 +69,7 @@ interface GetEpsResponseParameters {
class EpsClient {
private request: Hapi.Request
- private axiosInstance: AxiosInstance
+ private readonly axiosInstance: AxiosInstance
constructor(request: Hapi.Request) {
this.request = request