* CLDC-4340: Account for nil location name on location select
use postcode as a fallback, which should never be nil
* CLDC-4340: Add a verifying test
* CLDC-4340: Put all postcode locations at the end
* CLDC-4340: Sort locations by postcode
* Revert "CLDC-4235, CLDC-4280: staging go-live testing prep (#3262)"
This reverts commit 21367a7e3e.
* CLDC-4280: continue to block future form use on staging
* CLDC-4235: set allow_future_form_use false in staging
* CLDC-4280: add time travel behaviour for staging (and check on test first)
* CLDC-4280: actually check on review
* CLDC-4280: time travel on staging now review works
* CLDC-4280: temp add review to diff again
* CLDC-4280: send notify emails in real time in all environments to avoid auth/time skew errors
* CLDC-4280: also apply with_timecop to s3
* CLDC-4280: undo changes to review
* 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-4215: Don't run validate_discounted_ownership_value if mortgageused is 3
I don't think this should have ever been turned on. if we don't know the mortgage we can't assume info in this check
* CLDC-4215: Add a verifying test
* CLDC-4157: Remove nursing care home level of support
* CLDC-4157: Add a helper script to mark impacted schemes & logs as incomplete
* CLDC-4157: Update scheme factory
* CLDC-4157: Remove redundant scheme hint functions
* fixup! CLDC-4157: Add a helper script to mark impacted schemes & logs as incomplete
correct script name
* CLDC-4239: Update age range for pregnancy soft validation for 2026
* CLDC-4239: Update tests
looks like the 2026 tests were testing the 2025 method, so have updated
* fixup! CLDC-4239: Update tests
* fixup! CLDC-4239: Update tests
add boundary cases for 2025
* fixup! CLDC-4239: Update tests
make 8 household memmbers clear
* 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-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-4266: Reference UPRN in clear button for newbuilds
* fixup! CLDC-4266: Reference UPRN in clear button for newbuilds
* CLDC-4266: Revert "Reference UPRN in clear button for newbuilds"
This reverts commit c2f88d5da4.
This reverts commit 830e8b802b.
* CLDC-4266: Reference UPRN in clear button
* 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-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-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-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-4203: Remove builtype from BU
* CLDC-4203: Renumber sex/gender fields
* CLDC-4203: Renumber source of referral fields
* CLDC-4203: Renumber lettings_log_to_csv to_2026_row comments
* CLDC-4140: update spacing in to_2026_row
* CLDC-4140: update row parser spec field numbers
* CLDC-4140: update row parser field types
* CLDC-4203: Swap age and relat fields
as age is now asked first
* CLDC-4203: Update error messages for fields to match BU
* CLDC-4203: Add a new example BU file
* CLDC-4203: Update tests
* CLDC-4164: Fix spacing in lettings_log_to_csv
* CLDC-4203: Fix error description q order
Co-authored-by: Nat Dean-Lewis <94526761+natdeanlewissoftwire@users.noreply.github.com>
* CLDC-4203: Fix attribute ordering in row_parser
---------
Co-authored-by: Nat Dean-Lewis <nat.dean-lewis@softwire.com>
Co-authored-by: Nat Dean-Lewis <94526761+natdeanlewissoftwire@users.noreply.github.com>
* 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