Skip to content

Ensure that unconditional routes are not deleted when changing answer settings - #3105

Merged
lfdebrux merged 1 commit into
mainfrom
ldeb-do-not-delete-generic-routes-when-changing-selection-question-answer-type
Sep 11, 2026
Merged

lfdebrux merged 1 commit into
mainfrom
ldeb-do-not-delete-generic-routes-when-changing-selection-question-answer-type

Conversation

@lfdebrux

@lfdebrux lfdebrux commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

What problem does this pull request solve?

When the multiple branches feature is enabled, an only one option selection question can have an unconditional route if has more than 10 selection options (and didn't have any conditional routes added before the multiple branches feature was enabled).

We want to ensure that when the answer settings are changed for such a question that the unconditional route is not deleted.

This is similar to how (when the multiple branches feature is not enabled) we don't delete secondary skip conditions for a question when changing the answer settings.

Previously we were doing this by deleting only check conditions for a page, as secondary skip conditions have a different page for the routing and check pages. However, unconditional routes in the multiple branches feature do have the same check page as routing page, so this logic was deleting unconditional routes.

Instead, in this commit we delete only conditions that have non-nil answer_value. This excludes both unconditional routes and secondary skip conditions, and so should work when the multiple branches feature is either enabled or disabled.

Note: a warning message will be shown on the page to change the answer type for an only one option selection question with an unconditional route, that will be fixed in PR #3088.

Things to consider when reviewing

  • Ensure that you consider the wider context.
  • Does it work when run on your machine?
  • Is it clear what the code is doing?
  • Do the commit messages explain why the changes were made?
  • Are there all the unit tests needed?
  • Do the end to end tests need updating before these changes will pass?
  • Has all relevant documentation been updated?

… settings

When the multiple branches feature is enabled, an only one option
selection question can have an unconditional route if has more than 10
selection options (and didn't have any conditional routes added before
the multiple branches feature was enabled).

We want to ensure that when the answer settings are changed for such a
question that the unconditional route is not deleted.

This is similar to how (when the multiple branches feature is not
enabled) we don't delete secondary skip conditions for a question when
changing the answer settings.

Previously we were doing this by deleting only check conditions for a
page, as secondary skip conditions have a different page for the routing
and check pages. However, unconditional routes in the multiple branches
feature do have the same check page as routing page, so this logic was
deleting unconditional routes.

Instead, in this commit we delete only conditions that have non-nil
`answer_value`. This excludes both unconditional routes and secondary
skip conditions, and so should work when the multiple branches
feature is either enabled or disabled.
@github-actions

Copy link
Copy Markdown

🎉 A review copy of this PR has been deployed! You can reach it at: https://pr-3105.admin.review.forms.service.gov.uk/

It may take 5 minutes or so for the application to be fully deployed and working. If it still isn't ready
after 5 minutes, there may be something wrong with the ECS task. You will need to go to the integration AWS account
to debug, or otherwise ask an infrastructure person.

For the sign in details and more information, see the review apps wiki page.

@lfdebrux
lfdebrux added this pull request to the merge queue Sep 11, 2026
Merged via the queue into main with commit 9d5d96d Sep 11, 2026
5 checks passed
@lfdebrux
lfdebrux deleted the ldeb-do-not-delete-generic-routes-when-changing-selection-question-answer-type branch September 11, 2026 14:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants