Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
76f292a
CCM-14372: Add a callout message for letter if letter authoring is di…
m-salaudeen Feb 10, 2026
cc069bf
CCM-14372: Fix snapshot errors
m-salaudeen Feb 11, 2026
9e6a2f9
CCM-14372: Fix unit test issues
m-salaudeen Feb 18, 2026
0ea119e
CCM-14372: Fix node version and unit test
m-salaudeen Feb 18, 2026
6f45651
Merge remote-tracking branch 'origin' into feature/CCM-14372_update_l…
m-salaudeen Feb 18, 2026
087d055
CCM-14372: Fix UI component test issues
m-salaudeen Feb 18, 2026
9a8ff35
Merge remote-tracking branch 'origin' into feature/CCM-14372_update_l…
m-salaudeen Feb 18, 2026
38afdd3
CCM-14372: merge pr
m-salaudeen Feb 20, 2026
47d7905
Merge remote-tracking branch 'origin' into feature/CCM-14372_update_l…
m-salaudeen Feb 20, 2026
a22937d
CCM-14372: merge main
m-salaudeen Feb 20, 2026
411bf38
CCM-14372: merge main
m-salaudeen Feb 23, 2026
1aaf896
Merge remote-tracking branch 'origin' into feature/CCM-14372_update_l…
m-salaudeen Feb 23, 2026
d2d2949
CCM-14372: Fixx UI component test
m-salaudeen Feb 25, 2026
5789a26
CCM-14372: Fixx UI component test
m-salaudeen Feb 25, 2026
af07435
CCM-14372: Fix accessibility test
m-salaudeen Feb 25, 2026
b7467cd
CCM-14372: Fix unit test
m-salaudeen Feb 25, 2026
c60afc8
Merge remote-tracking branch 'origin' into feature/CCM-14372_update_l…
m-salaudeen Feb 25, 2026
dfed0e0
Merge remote-tracking branch 'origin' into feature/CCM-14372_update_l…
m-salaudeen Mar 2, 2026
9354856
CCM-14372: Fix unit test form main merge
m-salaudeen Mar 2, 2026
4c06d7c
Merge remote-tracking branch 'origin' into feature/CCM-14372_update_l…
m-salaudeen Mar 3, 2026
3feb041
CCM-14372: reviews
m-salaudeen Mar 4, 2026
f826915
Merge remote-tracking branch 'origin' into feature/CCM-14372_update_l…
m-salaudeen Mar 4, 2026
57e2f5c
Merge remote-tracking branch 'origin' into feature/CCM-14372_update_l…
m-salaudeen Mar 5, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .tool-versions
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,8 @@ terraform-docs 0.19.0
trivy 0.69.2
vale 3.6.0
python 3.13.2

# ==============================================================================
# The section below is reserved for Docker image versions.

# TODO: Move this section - consider using a different file for the repository template dependencies.
# docker/ghcr.io/anchore/grype v0.104.3@sha256:d340f4f8b3b7e6e72a6c9c0152f25402ed8a2d7375dba1dfce4e53115242feb6 # SEE: https://github.com/anchore/grype/pkgs/container/grype
# docker/ghcr.io/anchore/syft v1.39.0@sha256:6f13bb010923c33fb197047c8f88888e77071bd32596b3f605d62a133e493ce4 # SEE: https://github.com/anchore/syft/pkgs/container/syft
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -128,29 +128,40 @@ exports[`ChooseATemplateTypePage 1`] = `
Text message (SMS)
</label>
</div>
<div
class="nhsuk-radios__item"
>
<input
class="nhsuk-radios__input"
data-testid="letter-radio"
id="templateType-letter"
name="templateType"
type="radio"
value="LETTER"
/>
<label
class="nhsuk-label nhsuk-radios__label"
for="templateType-letter"
id="templateType-letter--label"
>
Letter
</label>
</div>
</div>
</div>
</fieldset>
</div>
<div
class="nhsuk-card nhsuk-card--warning nhsuk-u-reading-width"
>
<div
class="nhsuk-card__content"
>
<h2
class="nhsuk-card__heading"
>
To create a letter template
</h2>
<p
class="nhsuk-card__description nhsuk-u-margin-top-3 nhsuk-u-margin-bottom-6"
>
You cannot upload a letter template using this service.
</p>
<p
class="nhsuk-card__description"
>
Follow our guidance to
<a
href="https://notify.nhs.uk/using-nhs-notify/upload-a-letter"
rel="noopener noreferrer"
target="_blank"
>
upload a letter template (opens in a new tab)
</a>
</p>
</div>
</div>
<button
aria-disabled="false"
class="nhsuk-button"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@ describe('Choose template page', () => {
screen.getByTestId('email-radio'),
screen.getByTestId('nhsapp-radio'),
screen.getByTestId('sms-radio'),
screen.getByTestId('letter-radio'),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would explicitly check that letter-radio isn't there for the off case

];
const submitButton = screen.getByTestId('submit-button');

Expand Down Expand Up @@ -187,34 +186,4 @@ describe('Choose template page', () => {
expect(container.asFragment()).toMatchSnapshot();
});
});

describe('when letter authoring is disabled', () => {
beforeEach(() => {
jest.mocked(useFeatureFlags).mockReturnValue({
letterAuthoring: false,
});
});

it('should not show the letter type options when "Letter" radio is selected', () => {
render(<ChooseTemplateType templateTypes={TEMPLATE_TYPE_LIST} />);

const letterRadio = screen.getByTestId('letter-radio');
fireEvent.click(letterRadio);

expect(letterRadio).toBeChecked();

expect(
screen.queryByTestId('letter-type-q4-radio')
).not.toBeInTheDocument();
expect(
screen.queryByTestId('letter-type-x0-radio')
).not.toBeInTheDocument();
expect(
screen.queryByTestId('letter-type-x1-radio')
).not.toBeInTheDocument();
expect(
screen.queryByTestId('letter-type-language-radio')
).not.toBeInTheDocument();
});
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -166,29 +166,40 @@ exports[`Choose template page Client-side validation triggers - invalid form - e
Text message (SMS)
</label>
</div>
<div
class="nhsuk-radios__item"
>
<input
class="nhsuk-radios__input"
data-testid="letter-radio"
id="templateType-letter"
name="templateType"
type="radio"
value="LETTER"
/>
<label
class="nhsuk-label nhsuk-radios__label"
for="templateType-letter"
id="templateType-letter--label"
>
Letter
</label>
</div>
</div>
</div>
</fieldset>
</div>
<div
class="nhsuk-card nhsuk-card--warning nhsuk-u-reading-width"
>
<div
class="nhsuk-card__content"
>
<h2
class="nhsuk-card__heading"
>
To create a letter template
</h2>
<p
class="nhsuk-card__description nhsuk-u-margin-top-3 nhsuk-u-margin-bottom-6"
>
You cannot upload a letter template using this service.
</p>
<p
class="nhsuk-card__description"
>
Follow our guidance to
<a
href="https://notify.nhs.uk/using-nhs-notify/upload-a-letter"
rel="noopener noreferrer"
target="_blank"
>
upload a letter template (opens in a new tab)
</a>
</p>
</div>
</div>
<button
aria-disabled="false"
class="nhsuk-button"
Expand Down Expand Up @@ -328,29 +339,40 @@ exports[`Choose template page Client-side validation triggers - valid form - no
Text message (SMS)
</label>
</div>
<div
class="nhsuk-radios__item"
>
<input
class="nhsuk-radios__input"
data-testid="letter-radio"
id="templateType-letter"
name="templateType"
type="radio"
value="LETTER"
/>
<label
class="nhsuk-label nhsuk-radios__label"
for="templateType-letter"
id="templateType-letter--label"
>
Letter
</label>
</div>
</div>
</div>
</fieldset>
</div>
<div
class="nhsuk-card nhsuk-card--warning nhsuk-u-reading-width"
>
<div
class="nhsuk-card__content"
>
<h2
class="nhsuk-card__heading"
>
To create a letter template
</h2>
<p
class="nhsuk-card__description nhsuk-u-margin-top-3 nhsuk-u-margin-bottom-6"
>
You cannot upload a letter template using this service.
</p>
<p
class="nhsuk-card__description"
>
Follow our guidance to
<a
href="https://notify.nhs.uk/using-nhs-notify/upload-a-letter"
rel="noopener noreferrer"
target="_blank"
>
upload a letter template (opens in a new tab)
</a>
</p>
</div>
</div>
<button
aria-disabled="false"
class="nhsuk-button"
Expand Down Expand Up @@ -520,29 +542,40 @@ exports[`Choose template page renders error component 1`] = `
Text message (SMS)
</label>
</div>
<div
class="nhsuk-radios__item"
>
<input
class="nhsuk-radios__input"
data-testid="letter-radio"
id="templateType-letter"
name="templateType"
type="radio"
value="LETTER"
/>
<label
class="nhsuk-label nhsuk-radios__label"
for="templateType-letter"
id="templateType-letter--label"
>
Letter
</label>
</div>
</div>
</div>
</fieldset>
</div>
<div
class="nhsuk-card nhsuk-card--warning nhsuk-u-reading-width"
>
<div
class="nhsuk-card__content"
>
<h2
class="nhsuk-card__heading"
>
To create a letter template
</h2>
<p
class="nhsuk-card__description nhsuk-u-margin-top-3 nhsuk-u-margin-bottom-6"
>
You cannot upload a letter template using this service.
</p>
<p
class="nhsuk-card__description"
>
Follow our guidance to
<a
href="https://notify.nhs.uk/using-nhs-notify/upload-a-letter"
rel="noopener noreferrer"
target="_blank"
>
upload a letter template (opens in a new tab)
</a>
</p>
</div>
</div>
<button
aria-disabled="false"
class="nhsuk-button"
Expand Down Expand Up @@ -682,29 +715,40 @@ exports[`Choose template page selects one radio button at a time 1`] = `
Text message (SMS)
</label>
</div>
<div
class="nhsuk-radios__item"
>
<input
class="nhsuk-radios__input"
data-testid="letter-radio"
id="templateType-letter"
name="templateType"
type="radio"
value="LETTER"
/>
<label
class="nhsuk-label nhsuk-radios__label"
for="templateType-letter"
id="templateType-letter--label"
>
Letter
</label>
</div>
</div>
</div>
</fieldset>
</div>
<div
class="nhsuk-card nhsuk-card--warning nhsuk-u-reading-width"
>
<div
class="nhsuk-card__content"
>
<h2
class="nhsuk-card__heading"
>
To create a letter template
</h2>
<p
class="nhsuk-card__description nhsuk-u-margin-top-3 nhsuk-u-margin-bottom-6"
>
You cannot upload a letter template using this service.
</p>
<p
class="nhsuk-card__description"
>
Follow our guidance to
<a
href="https://notify.nhs.uk/using-nhs-notify/upload-a-letter"
rel="noopener noreferrer"
target="_blank"
>
upload a letter template (opens in a new tab)
</a>
</p>
</div>
</div>
<button
aria-disabled="false"
class="nhsuk-button"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,9 @@ beforeEach(() => {
describe('Preview email form renders', () => {
describe('Routing feature flag - Disabled', () => {
beforeEach(() => {
jest.mocked(useFeatureFlags).mockReturnValue({ routing: false });
jest
.mocked(useFeatureFlags)
.mockReturnValue({ routing: false, letterAuthoring: true });
});

it('matches error snapshot', () => {
Expand Down Expand Up @@ -114,7 +116,9 @@ describe('Preview email form renders', () => {

describe('Routing feature flag - Enabled', () => {
beforeEach(() => {
jest.mocked(useFeatureFlags).mockReturnValue({ routing: true });
jest
.mocked(useFeatureFlags)
.mockReturnValue({ routing: true, letterAuthoring: true });
});

it('renders component correctly', () => {
Expand All @@ -141,7 +145,9 @@ describe('Preview email form renders', () => {
it.each([true, false])(
'matches snapshot when navigating from manage templates screen, when routing is %p',
(routing) => {
jest.mocked(useFeatureFlags).mockReturnValue({ routing });
jest
.mocked(useFeatureFlags)
.mockReturnValue({ routing, letterAuthoring: true });

const container = render(
<PreviewEmailTemplate
Expand All @@ -163,7 +169,9 @@ describe('Preview email form renders', () => {
it.each([true, false])(
'matches snapshot when navigating from edit screen when routing is %p',
(routing) => {
jest.mocked(useFeatureFlags).mockReturnValue({ routing });
jest
.mocked(useFeatureFlags)
.mockReturnValue({ routing, letterAuthoring: true });

const mockSearchParams = new Map([['from', 'edit']]);
(useSearchParams as jest.Mock).mockImplementationOnce(() => ({
Expand Down
Loading
Loading