* CLDC-4432: Skip invalid field errors if the question is not routed to
* CLDC-4432: Add tests
* CLDC-4432: Lint
* fixup! CLDC-4432: Add tests
comment test dependencies
* CLDC-4325: Set date to 2026
* CLDC-4325: Fix sale information % tests
I'm not sure why I turned off strict post 2026, it's wanted in the same scenarios as before as shown by the failing tests
* CLDC-4325: Fix check answers spec
* CLDC-4325: Fix old rake task tests
* CLDC-4325: Fix sales soft validations
* CLDC-4325: Fix collection resources controller spec
* CLDC-4325: Only add noms and org to CSV row if prp
in most cases this was done by default but some tests construct an invalid log
* CLDC-4325: Fix lettings household validations spec
* CLDC-4221: Add 2026 collection deadlines
* CLDC-4325: Fix remaining model specs
* CLDC-4325: Fix form controller spec
* CLDC-4325: Fix hhmemb spec
* CLDC-4325: Fix duplicate logs controller spec
also introduce a new helper for a dynamic way of setting year
* CLDC-4325: Fix sales BU validator spec
* CLDC-4325: Fix check answers summary component
* CLDC-4325: Remove 2024 rake
* CLDC-4325: Use or later in all touched tests
* CLDC-4325: Fix guidance helper spec
* CLDC-4325: Run all tests now and in 2026
* CLDC-4325: Turn off 2026 override
* CLDC-4325: Add a corresponding return to timecop missing one
* CLDC-4325: Fix sales log spec in 2025
need to use let rather than let! so the timecop can run first
* CLDC-4325: Fix lettings log derived spec in 2025
timecop required for the start dates to work
* CLDC-4325: Turn the 2026 override on again
* fixup! CLDC-4325: Fix check answers summary component
* CLDC-4325: Delete recalculate_reasonpref_dontknow rake
only needed for 2024 logs
* fixup! CLDC-4325: Fix lettings household validations spec
Co-authored-by: Oscar Richardson <116292912+oscar-richardson-softwire@users.noreply.github.com>
* fixup! CLDC-4325: Fix sales log spec in 2025
* fixup! CLDC-4325: Fix sales log spec in 2025
* CLDC-4325: Make start controller spec not year specific
* CLDC-4325: Run tests in current day
* CLDC-4325: Run tests on 31st march
* CLDC-4325: Run tests on 2nd april
* CLDC-4325: Properly run tests on current day
* fixup! CLDC-4325: Fix sales soft validations
* fixup! CLDC-4325: Make start controller spec not year specific
* CLDC-4325: Run tests on 31st march
* CLDC-4325: Run tests on 1st april
* CLDC-4325: Run tests on 2nd april
* CLDC-4325: Revert time travel
---------
Co-authored-by: Oscar Richardson <116292912+oscar-richardson-softwire@users.noreply.github.com>
* CLDC-4270: Add an error for fields with the wrong type for 2026 lettings
* CLDC-4270: Add tests
* CLDC-4270: Port changes to other years' parsers
sales 2025 2026
lettings 2026
* fixup! CLDC-4270: Add an error for fields with the wrong type for 2026 lettings
* fixup! CLDC-4270: Port changes to other years' parsers
* CLDC-4270: Fix tests post merge
* fixup! CLDC-4270: Add tests
* CLDC-4270: Add ? to boolean method
* CLDC-4263: align new service charge questions with bu spec
* CLDC-4263: fix "no" mapping and allow decimal mscharge
* CLDC-4263: update tests
* CLDC-4297: clarify test naming
* CLDC-4297: add tests for inferences and confirm R inference
* CLDC-4297: add test override
* CLDC-4297: remove R tests
* CLDC-4297: add R behaviour back in
* CLDC-4297: updated error handling
* CLDC-4297: add warning comment on block_log_creation!
* CLDC-4297: test updates
* CLDC-4297: comment update
* CLDC-4297: allow 0 for newservicecharges
* CLDC-4297: test improvements
* CLDC-4297: test negatives and unify order
* CLDC-4297: misc cleanup
* CLDC-4297: specify same value errors
* CLDC-4297: don't allow 0 for mscharge and update tests
* CLDC-4297: update case insensitive field tests
* CLDC-4297: don't allow 0.0
* CLDC-4297: test 0.0 and r explicitly
* CLDC-4297: refactor and simplify
* CLDC-4297: final validation test tweaks
---------
Co-authored-by: samyou-softwire <samuel.young@softwire.com>
* CLDC-4270: Add an error for fields with the wrong type for 2026 lettings
* CLDC-4270: Add tests
* CLDC-4270: Port changes to other years' parsers
sales 2025 2026
lettings 2026
* fixup! CLDC-4270: Add an error for fields with the wrong type for 2026 lettings
* fixup! CLDC-4270: Port changes to other years' parsers
* CLDC-4270: Fix tests post merge
* fixup! CLDC-4270: Add tests
* CLDC-4270: Add ? to boolean method
* CLDC-4204: Renumber fields to match spec
* CLDC-4204: Update log to csv for 2026
* CLDC-4204: Cleanup BU todo commments
* CLDC-4204: Replace BU example file
* CLDC-4204: Update row parser question titles to match form
* fixup! CLDC-4204: Update row parser question titles to match form
fix sales log typo
Co-authored-by: Oscar Richardson <116292912+oscar-richardson-softwire@users.noreply.github.com>
* fixup! CLDC-4204: Renumber fields to match spec
update dupe fields comment
Co-authored-by: Oscar Richardson <116292912+oscar-richardson-softwire@users.noreply.github.com>
* fixup! CLDC-4204: Renumber fields to match spec
check the same field as before
---------
Co-authored-by: Oscar Richardson <116292912+oscar-richardson-softwire@users.noreply.github.com>
* 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-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-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-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-4012: Add case-sensitive function for 2025
* CLDC-4012: Add case-sensitive function for 2026
* CLDC-4012: Add tests
* CLDC-4012: Remove integer attributes
* fixup! CLDC-4012: Add tests
move R overrides for integers to their own test
* fixup! CLDC-4012: Add tests
don't check field 58
* fixup! CLDC-4012: Add tests
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-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-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
* 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-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-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
* test tests in April
* update tests where 2014 is assumed
* update test where time moving is assumed
* update rake task tests that only affect 2024 logs
* update another 2024 assumption
* handle null period in validation
* give pages different ids in SharedOwnershipInitialPurchase and SharedOwnershipStaircasingTransaction sections
* refactor to remove unnecessary method
* delete some old rake tasks and tests
* CLDC-3899 remove flaky date comparison from tests
* CLDC-3899 fix flaky test occasionally picking bad input
* fix test year setup
* add relat mapping for log_to_csv
* temp disable fail-fast for ease of testing
* specify 2024 in 2024-specific test
* Revert "temp disable fail-fast for ease of testing"
This reverts commit 6993d29866.
* Revert "test tests in April"
This reverts commit f5635dba11.
* pass test in 2024 and 2025
* fix test to 2024
* temp disable fail-fast again
* Revert "temp disable fail-fast again"
This reverts commit 55d3e1c7d8.
---------
Co-authored-by: Carolyn <carolyn.barker@softwire.com>
* remove default from relat mapping
* update valid test data
* fix field number
* add validation messge for other values
---------
Co-authored-by: Carolyn <carolyn.barker@softwire.com>
* add 2025 sales bulk upload parser
* lint and fix typos
* fix typos, field numbers, staircasing tests
* order field_11 values
* test log creator selects correct year's parser
* fix log to csv helper field order
* update factory so test file fully succeeds
* add 2025 BU test file method
* apply new csv syntax
* lint
* lint
* CLDC-3893 update property information field order
* commonise prepare your file page
* also update prep file page for lettings
* CLDC-3893 update test
* lint
* don't error on blank discount if not RTB
---------
Co-authored-by: Carolyn <carolyn.barker@softwire.com>
* Copy update
* Update copy
* Check address options returned is more than 1
* Update test
* Update and add test
* Update error messaging for single and multiple returns
* lint
* Fix lint
* Make full stops consistent in error messages
* Fix test
* Update few hardcoded errors
* Update join in remaining row parsers
* Update some more tests
* Update more hard coded BU errors
* Fix typo I introduced - bedrooms to bedroom
---------
Co-authored-by: Kat <katrina@kosiak.co.uk>
Co-authored-by: kosiakkatrina <54268893+kosiakkatrina@users.noreply.github.com>
* Add in past end dates for testing
* Temporarily disable test marked to delete at year end
* Remove one off reinfer_local_authority task
* Update validator_spec
* Set 2024 date in form_handler_spec to be during crossover period as needed
* Use bulk_upload.year_combo for comparison in request tests to avoid year dependancy
* Update BU log creator specs for 2024
* Use year combo function in bulk upload mailer tests
* Refactor lettings validator_spec
* More fixes
* More work on bu validator specs - mostly sales
* Remove pre 2023 test
* More use of bulk_upload.year_combo in request tests
* Fix lint
* Tweak bulk upload error row component tests for year changes
* Further fixes
* Fix 2023 lettings row parser spec
* Sales log to csv fix
* Refactor BU processor tests
* Fix field number row identifier
* Fix linting
* More years in request spec
* fix
* Don't use db unnecessarily in financial validations spec
* Fix sale date changing 2024 -> 2023 test
* Add tests for bulk_upload.year_combo
* Update bu factory year specification
* Refactoring
* Linting
* Don't use helper in factory
* Remove new 2023 specific test
* Remove dummy end dates
* initial spec file refactor
remove create for build, extract form to own variable, remove non-valuable tests
run time from 0.29s to0.11s
* refactor to ensure that the questions ownershipsch instance variable and the value of ownershipsch on the log is the same in tests
* delete page test file which is not testing anything meaningful
* add error messages to the I18n yml
* update tests for the validations
* update validation logic
* update tests for the mortgage used question
* update the mortgage used question displayed answer options
* update bulk upload specs to reflect error message updates
* make use of brackets consistent within validation method