* CLDC-4215: Show Don't Know on all paths of mortgageused
* CLDC-4215: Update tests
* fixup! CLDC-4215: Show Don't Know on all paths of mortgageused
* fixup! CLDC-4215: Update tests
cover all cases
* fixup! CLDC-4215: Show Don't Know on all paths of mortgageused
* fixup! CLDC-4215: Update tests
* CLDC-4184: Consolidate logic for questions that appear in multiple subsections
* CLDC-4184: Ensure all 2025 questions have a number
* CLDC-4184: Add 2026 question numbers
* CLDC-4184: Update question numbers to match paper form
* CLDC-4184: Use the standard question hash function
* CLDC-4184: Lint
* CLDC-4184: Update tests
* fixup! CLDC-4184: Update question numbers to match paper form
* CLDC-4184: Commonise person question logic in sales
* fixup! CLDC-4184: Update question numbers to match paper form
add missing 2026 question
* fixup! CLDC-4184: Use the standard question hash function
missed nationality
* fixup! CLDC-4184: Update question numbers to match paper form
fix q111
* fixup! CLDC-4184: Update question numbers to match paper form
some missed questions
* CLDC-4184: Lint
* CLDC-4184: Fix test
* CLDC-4212: Add 0.1% tolerance to % calculations
this is to specifically allow 0.1% more or less than the calculation expects, for those that contain %s in them
this removes difficulties on adding 66.6% equity (or should it be 66.7%?)
* CLDC-4212: Remove discount soft validation
was replaced by a hard validation in CLDC-1899 so no longer serves a purpose
* CLDC-4212: Add tests
* fixup! CLDC-4212: Add 0.1% tolerance to % calculations
calculate a tolerance instead
* fixup! CLDC-4212: Add 0.1% tolerance to % calculations
update comment
* CLDC-4236: make review deploy manual
* CLDC-4236: use pr comment trigger
* CLDC-4236: refactor
* CLDC-4248: less than > under in waityear responses
* CLDC-4248: make change for 25/26 also, and update layear too
* CLDC-4248: revert changes from other branch
* CLDC-4248: update csv tests
* CLDC-4173: add new buildheightclass db changes
* CLDC-4173: add new buildheightclass page and question
* CLDC-4173: add new buildheightclass bu and export updates
* CLDC-4173: update tests
* CLDC-4173: update var defs
* CLDC-4173: add sales csv export tests for 26 including buildheightclass
* CLDC-4173: add sales csv export tests for 25 and 26 including buildheightclass
* CLDC-4173: update sales export spec
* CLDC-4173: update sales export spec and make sales log csv service future-proof
* CLDC-4178: add gender same as sex question for sales db changes
* CLDC-4178: add gender same as sex question for sales questions and pages
* CLDC-4178: add gender same as sex question for sales questions and pages
* CLDC-4178: add gender same as sex question for sales copy
* CLDC-4178: add gender same as sex question for sales person known page
* CLDC-4178: add gender same as sex question for sales service updates
* CLDC-4178: add gender same as sex question for sales test updates
* CLDC-4140: update sales log to csv
* CLDC-4140: revert typo
* CLDC-4140: update factory
* CLDC-4140: update factory
* CLDC-4140: filename linting
* CLDC-4178: update parser tests
* CLDC-4178: update fixtures
* CLDC-4173: add missing sales log export fixtures and tests
* CLDC-4178: add missing sales log export fixtures and tests
* CLDC-4178: update log var defs count
* CLDC-4178: fix tests
* CLDC-4237: Use each over for_each in sidekiq init (#3196)
linter incorrectly assumes it is an activerecord relation
* CLDC-4173: date refactoring in tests
* CLDC-4173: date refactoring in tests
* CLDC-4173: schema updates
* CLDC-4173: cleanup and test improvements
* CLDC-4173: remove deduplicated code
* CLDC-4173: update dates in tests
* CLDC-4178: more test date updates
* CLDC-4173: test date updates
* CLDC-4178: test date updates
* CLDC-4178: unused copy cleanup
* CLDC-4178: use shared person subsection block from CLDC-4176
* CLDC-4178: comment refactoring
* CLDC-4178: person_n_present? updates
* CLDC-4178: copy main csv fixtures
* CLDC-4178: update csv fixtures
* CLDC-4178: factory updates
* CLDC-4178: export updates
* CLDC-4178: refactoring for consistency with lettings
* CLDC-4178: add copy key to gender same as sex
* CLDC-4178: fix typo in export test
* CLDC-4178: fix typo in locale copy
---------
Co-authored-by: Samuel Young <samuel.young@softwire.com>
* CLDC-4226: unionise org filter scope
* CLDC-4226: add todo comment
* CLDC-4226: respond to comments
* CLDC-4226: disambiguate scope again
* CLDC-4226: use unscoped in block form
* CLDC-4168: Add check for mortgage length known
* CLDC-4168: Add mortgage length known to question page
* CLDC-4168: Make mortgage length conditional on interview
requires a little changing to question logic to account for if the conditional question is not visible right now
* CLDC-4168: Add R override to BU
* CLDC-4168: Enforce mortlen is not R if buyer not interviewed in BU
* CLDC-4168: Update tests
* CLDC-4168: Add a lint task that autocorrects
* CLDC-4168: Add mortgage length known to sales log factory
* CLDC-4168: Allow mortgage not know if buyer wasn't interviewed
previously had this the wrong way around. this makes sense because if you interviewed the buyer you should know this
* CLDC-4168: Rename mortgage_length_known to mortlen_known
matches the mortlen field
* fixup! CLDC-4168: Add mortgage length known to question page
remove old year numbers
* fixup! CLDC-4168: Rename mortgage_length_known to mortlen_known
* fixup! CLDC-4168: Allow mortgage not know if buyer wasn't interviewed
missed test fix
* CLDC-4168: Revert changes to outright_sale section
* fixup! CLDC-4168: Revert changes to outright_sale section
* fixup! CLDC-4168: Update tests
* CLDC-4168: Allow for "r" in mortlen
* CLDC-4241: don't set check_errors on submit
* CLDC-4241: use link rather than submit form for see all related answers
* CLDC-4241: fix brent hard max error type inconsistency
* CLDC-4241: update page routing spec
* CLDC-4241: pass errors through to check errors page and simplify in doing so
* CLDC-4241: add comment to explain unusual code order
* CLDC-4241: revert test change
* Update app/views/form/page.html.erb
Co-authored-by: Oscar Richardson <116292912+oscar-richardson-softwire@users.noreply.github.com>
---------
Co-authored-by: Oscar Richardson <116292912+oscar-richardson-softwire@users.noreply.github.com>
* CLDC-4176: Remove sexn from web UI
* CLDC-4176: Remove sexn from BU
replace fields with sexrabn ones
* CLDC-4176: Remove sexn from CSV export
* CLDC-4176: Remove sexn from XML export
* CLDC-4173: add new buildheightclass db changes
* CLDC-4173: add new buildheightclass page and question
* CLDC-4173: add new buildheightclass bu and export updates
* CLDC-4173: update tests
* CLDC-4173: update var defs
* CLDC-4173: add sales csv export tests for 26 including buildheightclass
* CLDC-4173: add sales csv export tests for 25 and 26 including buildheightclass
* CLDC-4173: update sales export spec
* CLDC-4173: update sales export spec and make sales log csv service future-proof
* CLDC-4173: add missing sales log export fixtures and tests
* CLDC-4173: date refactoring in tests
* CLDC-4173: date refactoring in tests
* CLDC-4173: schema updates
* CLDC-4173: test date updates
* CLDC-4119: Update row parser duplicate log check
* CLDC-4119: Update main site duplicate logs check
adds sexrab1 to the duplicate log attributes
needs special care for the location and uprn attributes
* CLDC-4119: Update duplicate logs page
shows correct fields for 2025/2026 and for whether manual address or address search
* CLDC-4119: Update duplicate log errors
we no longer need a lot of the tests here as it's all postcode based
* CLDC-4119: Add an address line1 to duplicate log trait
* fixup! CLDC-4119: Update duplicate log errors
* CLDC-4119: Add UPRN to duplicate log trait
* fixup! CLDC-4119: Update main site duplicate logs check
improve comments
* fixup! CLDC-4119: Update duplicate logs page
improve duplicate_logs_helper.rb
* fixup! CLDC-4119: Update main site duplicate logs check
handle sexrab answered properly
* fixup! CLDC-4119: Add UPRN to duplicate log trait
* Revert "fixup! CLDC-4119: Add UPRN to duplicate log trait"
This reverts commit 9ff5f09839.
* Revert "CLDC-4119: Add UPRN to duplicate log trait"
This reverts commit d4d1c00c05.
* fixup! CLDC-4119: Update duplicate log errors
* CLDC-4237: Upgrade ruby to 3.4.4
* CLDC-4237: Add additional build dependencies to Dockerfile
* CLDC-4237: Update rubocop
* CLDC-4237: Fix new rubocop rules
most auto applies
RSpec/IndexedLet had 200 hits needing manual correction so left these for now
* CLDC-4237: Resolve vulnerable dependencies
* CLDC-4237: Fix erb files
* CLDC-4237: Downgrade connection_pool
* Add functionality
* Fix/add tests
* Update config/locales/forms/2026/lettings/soft_validations.en.yml
Co-authored-by: Samuel Young <samuel.young@softwire.com>
* Update after PO feedback
* Fix tests after rebase
---------
Co-authored-by: Samuel Young <samuel.young@softwire.com>
* CLDC-4202: No longer assume question numbers for years
the default logic is already a little confusing with the .max call, and we renumber most questions anyway between years
to simply this logic and make it less surprising, specify each year
all files should now specify 2023, 2024, 2025, 2026
* CLDC-4202: Account for removal of building type
see CLDC-4136, Q20 has been removed. renumber every question above 20 to be one lower
* CLDC-4202: Update household characteristics question nums
done separate as these question numbers are calculated
* CLDC-4202: Account for household characteristics renumbering
increase all after Q72 (previously Q64) armedforces.rb by 8
* CLDC-4202: Account for new referral question
* CLDC-4202: Update tests
* fixup! CLDC-4202: No longer assume question numbers for years
fix mistaken rent_type number
* CLDC-4202: Extract person question count to the form definition
* fixup! CLDC-4202: Extract person question count to the form definition
syntax error
* CLDC-4202: Extract hash logic to a common function
* CLDC-4202: Add a rake to populate new question numbers
we can run this rake to automatically add all the question numbers at the start of a new year, which should simplify the process a lot
* fixup! CLDC-4202: Add a rake to populate new question numbers
lint
* fixup! CLDC-4202: Extract person question count to the form definition
update tests
* fixup! CLDC-4202: Extract person question count to the form definition
lint
* fixup! CLDC-4202: Extract person question count to the form definition
also update age_known
* CLDC-4141: copy person questions refactor from CLDC-4142
* CLDC-4141: remove gender same as sex and replace gender identity q
* CLDC-4202: Use form person question count on sexrab
* CLDC-4202: Remove new question numbers from questions we don't ask anymore
* CLDC-4141: replace sex with sexrab where relevant for 2026
* fixup! CLDC-4202: Use form person question count on sexrab
update test
* fixup! CLDC-4202: Use form person question count on sexrab
page test too
* CLDC-4141: update download order
* CLDC-4140: remove sex from rowparser entirely
* CLDC-4140: keep sex in factory for now
* CLDC-4140: update household characteristics test
* CLDC-4140: update log variable spec
* CLDC-4202: Use relevant person_question_count in tests
* CLDC-4140: update csv export tests
* CLDC-4140: update validator tests
* CLDC-4140: update row-parser spec
* CLDC-4140: update csv-parser spec
* CLDC-4140: update export spec
* CLDC-4140: update log var defs spec
* CLDC-4140: update export spec
* CLDC-4140: update row parser spec
* CLDC-4140: update validator spec
* CLDC-4140: update csv parser spec
* CLDC-4143: Update gender retirement validations
rename functions as the new wording is more related to those that identify as male and any other option
* CLDC-4143: Add 2026 tests
* CLDC-4143: Update legacy json files
causes issues with some old tests
* CLDC-4143: Add error mappings for gender fields
* CLDC-4143: Add new gender age retirement soft validation
replaces the many check pages from previous years with a single one
shows if either of the previous ones would show
has agreed wording on ticket
* fixup! CLDC-4143: Update gender retirement validations
improve gender comment wording
* CLDC-4143: Update non males validation name
reference to 'soft validation' we found confusing
* fixup! CLDC-4143: Add new gender age retirement soft validation
update subsection specs
* CLDC-4140: update parsers post merge
* CLDC-4140: update tests after field renumbering
* CLDC-4140: update tests after field renumbering
* CLDC-4140: update spacing in to_2026_row
* CLDC-4140: update row parser spec field numbers
* CLDC-4140: update row parser field types
---------
Co-authored-by: Nat Dean-Lewis <nat.dean-lewis@softwire.com>
* CLDC-4141: copy person questions refactor from CLDC-4142
* CLDC-4141: remove gender same as sex and replace gender identity q
* CLDC-4141: replace sex with sexrab where relevant for 2026
* CLDC-4141: update download order
* CLDC-4140: remove sex from rowparser entirely
* CLDC-4140: keep sex in factory for now
* CLDC-4140: update household characteristics test
* CLDC-4140: update log variable spec
* CLDC-4140: update csv export tests
* CLDC-4140: update validator tests
* CLDC-4140: update row-parser spec
* CLDC-4140: update csv-parser spec
* CLDC-4140: update export spec
* CLDC-4140: update log var defs spec
* CLDC-4140: update export spec
* CLDC-4140: update row parser spec
* CLDC-4140: update validator spec
* CLDC-4140: update csv parser spec
* CLDC-4143: Update gender retirement validations
rename functions as the new wording is more related to those that identify as male and any other option
* CLDC-4143: Add 2026 tests
* CLDC-4143: Update legacy json files
causes issues with some old tests
* CLDC-4143: Add error mappings for gender fields
* CLDC-4143: Add new gender age retirement soft validation
replaces the many check pages from previous years with a single one
shows if either of the previous ones would show
has agreed wording on ticket
* fixup! CLDC-4143: Update gender retirement validations
improve gender comment wording
* CLDC-4143: Update non males validation name
reference to 'soft validation' we found confusing
* fixup! CLDC-4143: Add new gender age retirement soft validation
update subsection specs
* CLDC-4140: update parsers post merge
* CLDC-4140: update tests after field renumbering
* CLDC-4140: update tests after field renumbering
* CLDC-4140: update spacing in to_2026_row
* CLDC-4140: update row parser spec field numbers
* CLDC-4140: update row parser field types
---------
Co-authored-by: Samuel Young <samuel.young@softwire.com>
* CLDC-1402: Add hint text for start date
* CLDC-1402: Ensure that start date is valid
* Revert "CLDC-1402: Ensure that start date is valid"
This reverts commit 000fe4b369.
* CLDC-1402: Implement desired copy for start date q
adds an override method for the date example
* fixup! CLDC-1402: Implement desired copy for start date q
implement final wording
Co-authored-by: Oscar Richardson <116292912+oscar-richardson-softwire@users.noreply.github.com>
---------
Co-authored-by: Oscar Richardson <116292912+oscar-richardson-softwire@users.noreply.github.com>
* CLDC-4143: Update gender retirement validations
rename functions as the new wording is more related to those that identify as male and any other option
* CLDC-4143: Add 2026 tests
* CLDC-4143: Update legacy json files
causes issues with some old tests
* CLDC-4143: Add error mappings for gender fields
* CLDC-4143: Add new gender age retirement soft validation
replaces the many check pages from previous years with a single one
shows if either of the previous ones would show
has agreed wording on ticket
* fixup! CLDC-4143: Update gender retirement validations
improve gender comment wording
* CLDC-4143: Update non males validation name
reference to 'soft validation' we found confusing
* fixup! CLDC-4143: Add new gender age retirement soft validation
update subsection specs
* CLDC-4151: Note deprecations of existing referral questions
* CLDC-4151: Add new cols to lettings log model
* CLDC-4151: Add new referrals questions
* CLDC-4151: Remove referral value check
* CLDC-4151: Add new fields to bulk upload
use new fields as presented in bulk upload
* CLDC-4151: Update tests
also add bulk upload file to test with
* CLDC-4151: Ignore tests failing for later tickets
* fixup! CLDC-4151: Add new referrals questions
start q nums from 2026
* CLDC-4151: Add model tests for new questions
* fixup! CLDC-4151: Add new fields to bulk upload
export old_visible_id
set MAX_COLUMNS correctly
check .prp? for prp cols
* fixup! CLDC-4151: Update tests
clarify tests that may update
* fixup! CLDC-4151: Add new fields to bulk upload
handle the old_visible_id not existing
use override org ID only for the output owning ID. it's only passed as eg ORG1
* CLDC-4151: Add new questions to log factory
* fixup! CLDC-4151: Add new fields to bulk upload
leave field_131 validations till later
* CLDC-4188: Add LA flow
splits the referral_register question and pages into two, as its not easy to have the answers be dependent
if the owning organisation changes type, reset the referral register question. the other questions do not need to be reset as they are no longer routed to
* CLDC-4188: Infer referral_register for renewals
needs a new dependencies array for 2026
this handles inferring as well as clearing inferred answers if the prior answer changes
* CLDC-4188: Add validation between prevten and referral_register
block two other validations from previous years
* CLDC-4188: Update tests
* CLDC-4188: Ignore tests failing for future tickets
* CLDC-4188: Update existing tests
needed as should_reset_referral_register? calls a .find()
* fixup! CLDC-4188: Add validation between prevten and referral_register
use .prp?
improve grammar
* fixup! CLDC-4188: Infer referral_register for renewals
extract dependencies to common list
* fixup! CLDC-4188: Update tests
use before and context blocks better
* fixup! CLDC-4188: Update tests
lint
* fixup! CLDC-4188: Update tests
remove unneeded referral_type set
* CLDC-4189: Add PRP flow
* CLDC-4189: Update validation between prevten and referral_register
* CLDC-4189: Add tests
* fixup! CLDC-4189: Add PRP flow
fix typo
Co-authored-by: Oscar Richardson <116292912+oscar-richardson-softwire@users.noreply.github.com>
* fixup! CLDC-4189: Add tests
fix typo
* fixup! CLDC-4189: Add tests
fix missing cases in page specs
use a loop and before blocks for household validation tests
* CLDC-4189: Ensure log is not classed as generan needs if prevten isnt answered
* fixup! CLDC-4189: Add tests
add cases for other internal transfer flow
* CLDC-4151: Add final question numbers
* fixup! CLDC-4189: Update validation between prevten and referral_register
include new code 40 from CLDC-4149
* fixup! CLDC-4151: Add final question numbers
reinstate fallback
* CLDC-4190: Q84 Referral BU validations (#3155)
* CLDC-4151: Note deprecations of existing referral questions
* CLDC-4151: Add new cols to lettings log model
* CLDC-4151: Add new referrals questions
* CLDC-4151: Remove referral value check
* CLDC-4151: Add new fields to bulk upload
use new fields as presented in bulk upload
* CLDC-4151: Update tests
also add bulk upload file to test with
* CLDC-4151: Ignore tests failing for later tickets
* fixup! CLDC-4151: Add new referrals questions
start q nums from 2026
* CLDC-4151: Add model tests for new questions
* fixup! CLDC-4151: Add new fields to bulk upload
export old_visible_id
set MAX_COLUMNS correctly
check .prp? for prp cols
* fixup! CLDC-4151: Update tests
clarify tests that may update
* fixup! CLDC-4151: Add new fields to bulk upload
handle the old_visible_id not existing
use override org ID only for the output owning ID. it's only passed as eg ORG1
* CLDC-4151: Add new questions to log factory
* fixup! CLDC-4151: Add new fields to bulk upload
leave field_131 validations till later
* CLDC-4188: Add LA flow
splits the referral_register question and pages into two, as its not easy to have the answers be dependent
if the owning organisation changes type, reset the referral register question. the other questions do not need to be reset as they are no longer routed to
* CLDC-4188: Infer referral_register for renewals
needs a new dependencies array for 2026
this handles inferring as well as clearing inferred answers if the prior answer changes
* CLDC-4188: Add validation between prevten and referral_register
block two other validations from previous years
* CLDC-4188: Update tests
* CLDC-4188: Ignore tests failing for future tickets
* CLDC-4188: Update existing tests
needed as should_reset_referral_register? calls a .find()
* fixup! CLDC-4188: Add validation between prevten and referral_register
use .prp?
improve grammar
* fixup! CLDC-4188: Infer referral_register for renewals
extract dependencies to common list
* fixup! CLDC-4188: Update tests
use before and context blocks better
* fixup! CLDC-4188: Update tests
lint
* fixup! CLDC-4188: Update tests
remove unneeded referral_type set
* CLDC-4189: Add PRP flow
* CLDC-4189: Update validation between prevten and referral_register
* CLDC-4189: Add tests
* fixup! CLDC-4189: Add PRP flow
fix typo
Co-authored-by: Oscar Richardson <116292912+oscar-richardson-softwire@users.noreply.github.com>
* fixup! CLDC-4189: Add tests
fix typo
* fixup! CLDC-4189: Add tests
fix missing cases in page specs
use a loop and before blocks for household validation tests
* CLDC-4189: Ensure log is not classed as generan needs if prevten isnt answered
* fixup! CLDC-4189: Add tests
add cases for other internal transfer flow
* CLDC-4190: Invalidate all referral fields if any are wrong
* CLDC-4190: Remove other validations on referral fields
* CLDC-4190: Ignore referral validation if BU is renewal
* CLDC-4190: Add tests
* fixup! CLDC-4190: Invalidate all referral fields if any are wrong
add punctuation to comment
name validation fields better
* fixup! CLDC-4190: Add tests
make test names clearer
* CLDC-4190: Final field fixes
---------
Co-authored-by: Oscar Richardson <116292912+oscar-richardson-softwire@users.noreply.github.com>
* CLDC-4191: Q84 Referral CSV and XML export (#3157)
* CLDC-4151: Note deprecations of existing referral questions
* CLDC-4151: Add new cols to lettings log model
* CLDC-4151: Add new referrals questions
* CLDC-4151: Remove referral value check
* CLDC-4151: Add new fields to bulk upload
use new fields as presented in bulk upload
* CLDC-4151: Update tests
also add bulk upload file to test with
* CLDC-4151: Ignore tests failing for later tickets
* fixup! CLDC-4151: Add new referrals questions
start q nums from 2026
* CLDC-4151: Add model tests for new questions
* fixup! CLDC-4151: Add new fields to bulk upload
export old_visible_id
set MAX_COLUMNS correctly
check .prp? for prp cols
* fixup! CLDC-4151: Update tests
clarify tests that may update
* fixup! CLDC-4151: Add new fields to bulk upload
handle the old_visible_id not existing
use override org ID only for the output owning ID. it's only passed as eg ORG1
* CLDC-4151: Add new questions to log factory
* fixup! CLDC-4151: Add new fields to bulk upload
leave field_131 validations till later
* CLDC-4188: Add LA flow
splits the referral_register question and pages into two, as its not easy to have the answers be dependent
if the owning organisation changes type, reset the referral register question. the other questions do not need to be reset as they are no longer routed to
* CLDC-4188: Infer referral_register for renewals
needs a new dependencies array for 2026
this handles inferring as well as clearing inferred answers if the prior answer changes
* CLDC-4188: Add validation between prevten and referral_register
block two other validations from previous years
* CLDC-4188: Update tests
* CLDC-4188: Ignore tests failing for future tickets
* CLDC-4188: Update existing tests
needed as should_reset_referral_register? calls a .find()
* fixup! CLDC-4188: Add validation between prevten and referral_register
use .prp?
improve grammar
* fixup! CLDC-4188: Infer referral_register for renewals
extract dependencies to common list
* fixup! CLDC-4188: Update tests
use before and context blocks better
* fixup! CLDC-4188: Update tests
lint
* fixup! CLDC-4188: Update tests
remove unneeded referral_type set
* CLDC-4189: Add PRP flow
* CLDC-4189: Update validation between prevten and referral_register
* CLDC-4189: Add tests
* fixup! CLDC-4189: Add PRP flow
fix typo
Co-authored-by: Oscar Richardson <116292912+oscar-richardson-softwire@users.noreply.github.com>
* fixup! CLDC-4189: Add tests
fix typo
* fixup! CLDC-4189: Add tests
fix missing cases in page specs
use a loop and before blocks for household validation tests
* CLDC-4189: Ensure log is not classed as generan needs if prevten isnt answered
* fixup! CLDC-4189: Add tests
add cases for other internal transfer flow
* CLDC-4190: Invalidate all referral fields if any are wrong
* CLDC-4190: Remove other validations on referral fields
* CLDC-4190: Ignore referral validation if BU is renewal
* CLDC-4190: Add tests
* fixup! CLDC-4190: Invalidate all referral fields if any are wrong
add punctuation to comment
name validation fields better
* fixup! CLDC-4190: Add tests
make test names clearer
* CLDC-4191: Update CSV export tests
the export happens by default, no changes needed here
* CLDC-4191: Add new referral fields to 2026 exports
remove old referral fields from 2026 exports
ensure new referral fields don't show in pre 2026 exports
* CLDC-4190: Final field fixes
---------
Co-authored-by: Oscar Richardson <116292912+oscar-richardson-softwire@users.noreply.github.com>
---------
Co-authored-by: Oscar Richardson <116292912+oscar-richardson-softwire@users.noreply.github.com>
* CLDC-4141: use prefers not to say text in cya page
* CLDC-4141: update csv service to actually use new labels
* CLDC-4141: reformat complex condition for readability
* CLDC-4141: update csv export tests
* CLDC-4141: revert changes to csv service
* CLDC-4141: use label_from_value to override CYA values
* CLDC-4141: update question tests
* CLDC-4141: update expected exports
* CLDC-4141: update export spec
* CLDC-1980: copy setup from CLDC-4200
* CLDC-1980: add All buyers labels
* CLDC-1980: add All buyers labels to soft validations for 2026 onwards
* CLDC-1980: update tests
* CLDC-1980: update base q tests
* CLDC-1980: reduce number of questions changed to first per section
* CLDC-1980: undo redundant test changes
* CLDC-1980: add new required args to page specs
* CLDC-1980: add new required args to page specs
* CLDC-4142: Add new cols to database
* CLDC-4142: Add questions to flow
optimise household_characteristics as there's a lot of repeated code. should make the sections a bit easier to manage
* CLDC-4142: Add conditional description question
seems to largely just work without needing major tweaks
* CLDC-4142: Ensure description if nil if not shown
looks like there's no automated process for this. without this the description will be "" if not given
* CLDC-4142: Add new question to log factory
* CLDC-4142: Add new fields to BU parser
update BU template file to match
* CLDC-4142: Add new fields to BU file generator
* CLDC-4142: Add new fields to xml export
also improve xml export matcher to report differences
* CLDC-4142: Add final question numbers
* CLDC-4142: Add question specs
* CLDC-4142: Add a PERSON_DETAILS override for gender_same_as_sex
this ensures if details aren't known the field will be redacted
* CLDC-4142: Update model tests
* CLDC-4142: Update CSV export service tests
* CLDC-4142: Update other tests
* fixup! CLDC-4142: Update CSV export service tests
update sales variable definitons too
* fixup! CLDC-4142: Ensure description if nil if not shown
update inferral method name and comment
* CLDC-4142: Update CYA copy as requested
cya for gender_same_as_sex 'no' instead of 'no, enter gender description'
cya for gender_description has the label 'gender identity description'
* CLDC-4142: Use label_from_value for custom CYA text
this replaces @inferred_check_answers_value so it'll work in CSV export too
* CLDC-4154: Add a dropdown for needs type guidance
* CLDC-4154: Update tests
* fixup! CLDC-4154: Add a dropdown for needs type guidance
improve syntax on optional partial
improve copy for needs type dropdown
* fixup! CLDC-4154: Update tests
make needs type page spec for current times
* CLDC-4154: Update needs type dropdown title
as requested by CORE
* CLDC-4200: Add mechanism for custom CYA header labels
also simplify the view logic for check answers summary list
* CLDC-4200: Add custom CYA header for household members
* CLDC-4200: Add tests
* CLDC-4177: Create new sex-at-birth question
* CLDC-4177: Update database
* CLDC-4177: Adds SAB form for the primary buyer.
* CLDC-4177: Adds sex-at-birth question for other household members
* CLCD-4177: Unit tests
* CLDC-4177: Misc inclusions where sex is also used
* CLDC-4177: Lint fixes
* CLDC-4177: Do not include sexRAB in pre-2026 exports
* CLDC-4177: Fixes bug with copy key in new page
* CLDC-4177: Changes logic used to decide which fields to export
* CLDC-4177: Linting fixes
* CLDC-4177: Converts new field to lowercase
* CLDC-4177: Satisfy bulk upload tests (not tested manually)
* CLDC-4177: Rename new fields to lowercase
* CLDC-4177: Rename field in bulk upload.
* Fix db casing
* CLDC-4177: remove frozen string literals
* Delete redundant migration
* Remove extraneous lines from schema.rb
* Add new sexrab fields to the :completed trait in the Sales Log factory
* CLDC-4177: remove redundant inferred CYA vals
* CLDC-4177: update bu files
* CLDC-4177: update sales log export service
* CLDC-4177: update schema
* CLDC-4177: linting
* CLDC-4177: update sales log export constants
* CLDC-4177: update factories
* CLDC-4177: lint
* CLDC-4177: csv parser updates
* CLDC-4177: bu field updates
* CLDC-4177: update var def spec
* CLDC-4177: make to_2026_row explicit
* CLDC-4177: use shared field count
* CLDC-4177: refactor to remove max cols going forwards
* CLDC-4141: update schema
* CLDC-4141: update schema
* CLDC-4141: update schema
* CLDC-4141: remove X from factory options
* CLDC-4177: update log var defs
* CLDC-4177: use correct shared field count
* CLDC-4177: remove trailing commas
* CLDC-4177: update bulk upload csv example
* CLDC-4177: update bulk upload csv example
* CLDC-4177: remove sexrab from expected sales export for now
---------
Co-authored-by: oscar-richardson-softwire <oscar.richardson@softwire.com>
Co-authored-by: Nat Dean-Lewis <nat.dean-lewis@softwire.com>
* CLDC-4149: Add new prevten option general needs
* CLDC-4149: Update tests
* fixup! CLDC-4149: Add new prevten option general needs
improve constant name
* fixup! CLDC-4149: Add new prevten option general needs
specify start year where its guaranteed
* CLDC-4105: Add working situation illness check to log fields
* CLDC-4105: Add soft validation to main flow
* CLDC-4105: Add tests
soft validations
models
add a label file for this year so the export_codes tests have authentic labels to pull
the old BU completed log answers throw the new soft validation. needed to change illness to 3 to avoid the soft validation as it should be a complete log
* fixup! CLDC-4105: Add working situation illness check to log fields
* fixup! CLDC-4105: Add soft validation to main flow
remove unneeded coalesce
remove unneeded variable
* fixup! CLDC-4105: Add tests
fix after rebase
* fixup! CLDC-4105: Add soft validation to main flow
account for if hhmemb is not answered
* Ask address and UPRN questions for 2026 and later logs
* Fix page tests
* Fix LA and postcode overrides
* Fix resetting address fields and LA
* Add tests for resetting address fields and LA
* Fix lettings log derived fields tests
* Fix lint
* Fix tests
* Clean up lettings log property overrides
* Add comments
* Fix lint
* Add error to location field
* Add error to location field
* Add tests for error on location field
* Refactor property and location postcode matching validation into own function
* Add test for LA override
* Add test for postcode override
* Added `!record.read_attribute(:la)` guard
* Fix lint
* Fix property validation for checking LA is active/in England
* Fix test
* Minor tweaks
* Fix lint
* CLDC-4145: Derive is partner for under 16s
in contrast, clear is partner if the age goes >=16 so the user must answer the question again
* CLDC-4145: Remove under 16 soft validation for 2026
it will no longer be shown as we infer the answer
* fixup! CLDC-4145: Derive is partner for under 16s
* fixup! CLDC-4145: Remove under 16 soft validation for 2026
the check is added twice before two diff questions
* CLDC-4145: Update tests
* fixup! CLDC-4145: Derive is partner for under 16s
lint
* fixup! CLDC-4145: Update tests
lint
* fixup! CLDC-4145: Derive is partner for under 16s
check if the was was null rather than current. avoids potential bugs on first assign
* fixup! CLDC-4145: Update tests
some more tests added / updated
* fixup! CLDC-4145: Update tests
turns out editing the future form use is not possible for tests, too many depend on it failing
use timecop instead
* fixup! CLDC-4145: Update tests
fix lettings log export
* fixup! CLDC-4145: Update tests
add 2024 derived variable tests
* fixup! CLDC-4145: Update tests
lint
* CLDC-4145: Add a depends_on to ensure partner is hidden
* fixup! CLDC-4145: Add a depends_on to ensure partner is hidden
remove unnecessary depends_on
make test ranges clearer
* CLDC-4136: Hide question on UI flow
* CLDC-4136: Hide question from log download csv
* CLDC-4136: Remove question from BU parser
relabel all following fields
* Revert "fixup! CLDC-4136: Remove question from BU parser"
This reverts commit cda3ec109943d23120c6e55a05ae02026283d147.
* Revert "CLDC-4136: Remove question from BU parser"
This reverts commit e4715ee976c6a4ade30a61b11f51af8bce211324.
* fixup! CLDC-4136: Hide question on UI flow
remove from question list instead
* fixup! CLDC-4136: Hide question from CDS export
use correct year in dates
* fixup! fixup! CLDC-4136: Hide question from CDS export
use correct year in all dates
* Reorder questions
* Revert "Reorder questions"
This reverts commit ffbd4d94dc88369556700db4909ee256eb4e9b03.
* Reorder questions for 2026 onwards only
* Fix tests after rebase
# Conflicts:
# spec/fixtures/files/lettings_log_csv_export_codes_26.csv
# spec/fixtures/files/lettings_log_csv_export_labels_26.csv
# spec/fixtures/files/lettings_log_csv_export_non_support_codes_26.csv
# spec/fixtures/files/lettings_log_csv_export_non_support_labels_26.csv
* Fix model tests
* Lint
* Correct test descriptions
* Fix after rebase
---------
Co-authored-by: Samuel Young <samuel.young@softwire.com>
* CLDC-4162: Add parsers for 2026
* CLDC-4162: Integrate 2026 parsers into codebase
* CLDC-4162: Add tests
* CLDC-4162: Update tests for existing years
remove year dependencies where possible
* CLDC-4162: Add example 2026 bulk upload files
* CLDC-4162: Update BU test file generate buttons
* fixup! CLDC-4162: Update BU test file generate buttons
we only need the 14 days validation when the future forms feature toggle is off, otherwise any date can be input
* fixup! CLDC-4162: Integrate 2026 parsers into codebase
improve TODOs
* fixup! CLDC-4162: Add parsers for 2026
add todos for unknown info
* fixup! CLDC-4162: Update tests for existing years
properly mark year specific tests
* fixup! CLDC-4162: Update tests for existing years
use 25 over 2025
* CLDC-4136: Hide question on UI flow
* CLDC-4136: Hide question from CDS export
* CLDC-4136: Hide question from log download csv
* CLDC-4136: Remove question from BU parser
relabel all following fields
* fixup! CLDC-4136: Hide question from CDS export
* fixup! CLDC-4136: Remove question from BU parser
* Revert "fixup! CLDC-4136: Remove question from BU parser"
This reverts commit cda3ec109943d23120c6e55a05ae02026283d147.
* Revert "CLDC-4136: Remove question from BU parser"
This reverts commit e4715ee976c6a4ade30a61b11f51af8bce211324.
* fixup! Revert "CLDC-4136: Remove question from BU parser"
* fixup! CLDC-4136: Hide question on UI flow
remove from question list instead
* fixup! CLDC-4136: Hide question from CDS export
use correct year in dates
* fixup! fixup! CLDC-4136: Hide question from CDS export
use correct year in all dates
* fixup! CLDC-4136: Hide question on UI flow
update tests to account
* fixup! CLDC-4136: Hide question on UI flow
lint test
* CLDC-4162: Add parsers for 2026
* CLDC-4162: Integrate 2026 parsers into codebase
* CLDC-4162: Add tests
* CLDC-4162: Update tests for existing years
remove year dependencies where possible
* CLDC-4162: Add example 2026 bulk upload files
* CLDC-4162: Update BU test file generate buttons
* fixup! CLDC-4162: Update BU test file generate buttons
we only need the 14 days validation when the future forms feature toggle is off, otherwise any date can be input
* fixup! CLDC-4162: Integrate 2026 parsers into codebase
improve TODOs
* fixup! CLDC-4162: Add parsers for 2026
add todos for unknown info
* fixup! CLDC-4162: Update tests for existing years
properly mark year specific tests
* fixup! CLDC-4162: Update tests for existing years
use 25 over 2025
* fixup! CLDC-4162 Update BU test file generate buttons
---------
Co-authored-by: carolynbarker <8038496+carolynbarker@users.noreply.github.com>
* CLDC-4158: Re-enable future form use on pre-prod
* CLDC-4158: Create new locales for 26/27
* CLDC-4158: Add deadlines for 26/27 forms
* CLDC-4158: Add 2026 helper to forms
* CLDC-3870: Nil the beds question when the user changes off of bedsit
this forces the user to answer it again as we previously assumed the answer to be '1' when they answered bedsit
* CLDC-3870: Add tests
* CLDC-4133: Use linked la if available for supported housing logs
calling record.la will automatically map old ECodes to newer ones, so no need to check the location directly
without this locations still tied to old ecodes could not be assigned logs, despite being valid
* CLDC-4133: Add verifying test