* 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-NONE: Allow any line order in csv file test
* CLDC-NONE: Get scheme by name rather than array position
* CLDC-NONE: Make org ID test more generic
the test is around a value being cleared so seems unneeded to require a specific ID also
* fixup! CLDC-NONE: Get scheme by name rather than array position
do the same for location
also improve variable names
* 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
* CLDC-NONE: Add a test to ensure future logs are completed
* fixup! CLDC-NONE: Add a test to ensure future logs are completed
fix assertion order
improve test labels
* 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-4115: Fix flaky collection_time_helper test
if the max date was returned test would fail
use date objects instead
* CLDC-4115: Ensure page is loaded before running accessibility tests
unclear whether this will make a difference, will push now and run the pipeline a couple times
* CLDC-4115: Search for post merge scheme by name
rather than relying on it being first
* Revert "CLDC-4115: Ensure page is loaded before running accessibility tests"
This reverts commit ff1ef0a466a1ca4f70e44f6d584c666c975184e1.
doesnt seem to work
* CLDC-4115: Ensure question uses default label logic
* CLDC-4115: Ensure form is loaded correctly before testing filters
* CLDC-4115: Ensure form is loaded correctly before testing locations
* CLDC-4115: Force page_load timeout to 10 seconds
* fixup! CLDC-4115: Search for post merge scheme by name
* fixup! CLDC-4115: Ensure form is loaded correctly before testing filters
remove 23/24 tests
make tests no longer year specific
* CLDC-4115: Remove order of csv requirement from count duplicates rake test
* 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 cda3ec1099.
* Revert "CLDC-4136: Remove question from BU parser"
This reverts commit e4715ee976.
* 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 ffbd4d94dc.
* 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 cda3ec1099.
* Revert "CLDC-4136: Remove question from BU parser"
This reverts commit e4715ee976.
* 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-NONE: Add a manual runner pipeline that can redeploy review app code
* fixup! CLDC-NONE: Add a manual runner pipeline that can redeploy review app code
use correct key id
use snake case
* CLDC-NONE: Split deployment instructions into their own page
makes them easier to find, under the infrastructure tab is a little unintuitive
* CLDC-NONE: Renumber nav_order
* CLDC-NONE: Reinstate immediate secret deletion
* 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-3501: Remove unfinished LogCreator tests
seems unclear what the test looked to verify, an existing log cannot be created
* CLDC-3501: Remove charge not provided test
this was moved to a soft validation in #1359
* CLDC-3501: Remove some year dependencies on LettingsLogController tests
no need to store a json of a complete log, we can generate this dynamically
* CLDC-3501: Reinstate skipped setup test
add some new time helpers to do with crossover periods
* CLDC-3501: Reinstate skipped schemes test
Can be made non specific to the year
* CLDC-3501: Reinstate skipped managing org rake test
the log can never be completed as it is missing info
* CLDC-3501: Reinstate row parser completed test
no changes needed, it already passes
* 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
* CLDC-4066: Implement a debounce on address search
disappointingly the underlying library https://github.com/alphagov/accessible-autocomplete doesn't have this as an option, though we can implement one ourselves in the fetch code
* CLDC-4066: Reduce read timeout for OS Places APIs 30 -> 15
in practice waiting up to 1 min 30 for requests could cause too many threads to be blocked under periods of slow OS Places API
this reduces the max wait time to 45 seconds, as requested by CORE
* CLDC-4066: Lint
* CLDC-4066: Fix uprn timeout to match address search
* CLDC-4095: Ensure errors are added to Q89 dependent fields
this ensures that the user is always shown an error if they complete the form in a different order to the question set
not doing this leads to the user submitting an answer and nothing happening
* CLDC-4095: Update existing tests to check these new fields
* CLDC-4090: Add validation that the LA is still active for the date of the log
* CLDC-4090: Add verifying tests
* CLDC-4090: Ensure startdate is not nil for this validation
* CLDC-4090: Document linked validations
* CLDC-4090: Remove errors on uprn_confirmation question
this question is no longer asked, so there are no errors needed for it
left the existing translations
* CLDC-4090: Update tests
* CLDC-4028: Ensure logs will update when an organisation name change is created, as they draw the org name
this could lead to redundant exports if the name change does not impact the log at its startdate (which we put into the log), but it'd be more difficult to query this way so fine to be safe here
also query name changes by updated_at. shouldn't really matter as we don't expect name changes to be updated but worth being safe in case we need to update a name change for maintenance reasons
* CLDC-4028: Fix created at name change in lettings log
always safer to use updated at for checking whether the record has changed
* CLDC-4094: Use IDs to reassociate logs after a merge
using names was unsafe as these are not guaranteed unique in an organisation or scheme
build a list of old to new log IDs as merging schemes and locations, then use this when merging lettings logs
* CLDC-4094: Add a verifying test
* CLDC-4044: Reset last_sign_at fields on reactivation
this is to ensure that the code considers them a fresh user
specifically, ensures that the "Resend invite link" button will show
* CLDC-4044: Allow sending activation emails for unconfirmed users that have logged in
looks like CORE treats this state functionally for reconfirmed users & has a unique email sent out
so instead, change code to account for this and allow for sending emails to unconfirmed but signed in users
* CLDC-4044: Add verifying test
* CLDC-4044: Add clarifying comment