diff --git a/frontend/src/App.test.tsx b/frontend/src/App.test.tsx
index d780616..13391b1 100644
--- a/frontend/src/App.test.tsx
+++ b/frontend/src/App.test.tsx
@@ -250,6 +250,31 @@ describe('StayLong Continuous Home Path', () => {
expect(screen.getByRole('radio', { name: 'I’m not sure who to involve yet' })).toBeVisible()
})
+ it('keeps a consent field aligned with the accepted supporter-choice UI', async () => {
+ const user = userEvent.setup()
+ const consentQuestion = {
+ key: 'information_sharing_consent',
+ question: 'Do you give consent for us to share these details with your nominated support contacts or assessors?',
+ reason: 'Consent is required before sending household information to external supporters or care teams.',
+ }
+ vi.stubGlobal('fetch', vi.fn().mockResolvedValue({
+ ok: true,
+ json: async () => workflow('intake', { questions: [...questions.slice(0, 2), consentQuestion] }),
+ }))
+ render()
+
+ fireEvent.change(screen.getByRole('textbox', { name: 'Describe what is becoming difficult' }), { target: { value: concern } })
+ await user.click(screen.getByRole('button', { name: 'Start my plan' }))
+ await screen.findByRole('heading', { name: 'A few details will help prepare your plan' })
+
+ expect(screen.getByRole('group', { name: 'Would you like to involve anyone now?' })).toBeVisible()
+ expect(screen.getByRole('radio', { name: 'Not right now' })).toBeVisible()
+ expect(screen.getByRole('radio', { name: 'I’d like to involve someone' })).toBeVisible()
+ expect(screen.getByRole('radio', { name: 'I’m not sure who to involve yet' })).toBeVisible()
+ expect(screen.getByText('StayLong only shares information when invited.')).toBeVisible()
+ expect(screen.queryByRole('textbox', { name: /consent/i })).not.toBeInTheDocument()
+ })
+
it('explains that the plan is being prepared while the start request is pending', async () => {
const user = userEvent.setup()
let resolveRequest: ((value: unknown) => void) | undefined
diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx
index dd490f9..94acdcd 100644
--- a/frontend/src/App.tsx
+++ b/frontend/src/App.tsx
@@ -28,9 +28,13 @@ const assessmentStatusOptions = [
'No, not yet',
'I’m not sure',
]
+const supporterQuestion = 'Would you like to involve anyone now?'
+const supporterReason = 'StayLong only shares information when invited.'
+const supporterOptions = ['Not right now', 'I’d like to involve someone', 'I’m not sure who to involve yet']
const quickAnswerOptions: Record = {
housing_tenure: ['I own my home', 'I rent my home', 'I’m not sure about the home yet'],
- support_contacts: ['Not right now', 'I’d like to involve someone', 'I’m not sure who to involve yet'],
+ support_contacts: supporterOptions,
+ information_sharing_consent: supporterOptions,
}
const timelineLabels: Record = {
@@ -154,7 +158,8 @@ function IntakeQuestion({ question, value, onChange }: { question: Fact; value:
}
const options = quickAnswerOptions[question.key]
if (options) {
- return
+ const isSupporterQuestion = question.key === 'support_contacts' || question.key === 'information_sharing_consent'
+ return
}
return