* Update nocharge assignment logic for clarity in lettings_log_variables
* Add Rake tasks to update nocharge with household_charge for current and older logs
* Update nocharge field to be empty in general needs log XML files
* Update nocharge assignment to skip validation during save and add RSpec tests for bulk update task
* Remove nocharges from general needs tests
* Add validation for referral type when permanently decanted from PRP-only housing
* Remove unnecessary error adding, PRP and different landlord is possible
* Update tests
* CLDC-3991 Update working situation answer options to clarify full-time/part-time
* Update working situation copy unable to work
* Keep old copy pre 2025
* Update tests
* Fix flaky test, check regardless of order
* Update test
* Lint
* Update text copy to use curly apostrophes for consistency
* Update BU text copy to use curly apostrophes for consistency
* Update BU text copy to use curly apostrophes for consistency
* Update text copy to use 'Other' for consistency in instead of 'other'
* Update text copy for 'Reasonable preference reason' fields to improve clarity
* Update tests
* Buyer Tenant nationality other answer option exclude UK
* Fix answer options count in nationality_all_spec to reflect correct value
* Update nationality_all to use GlobalConstants for answer options and adjust displayed options
* Allow passing a year to generating lettings validations docs task
* Allow passing a year to generating sales validations docs task
* Refactor
* Include missing validations
* Describe all soft validations
* Update model
* Refactor
* Conditional assignment for irproduct_other based on rent type 2025
* Conditional assignment for irproduct_other based on rent type 2024
* Update irproduct_other attributes to include field_11 in test
* Update irproduct_other attributes to include field_11 in test
* Update test log creation to use dynamic dates within collection year within 14days
* Update app/controllers/test_data_controller.rb
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update test data start date to April and the year
* Refactor test log creation to eliminate redundant start_date variable
* Update test log creation to use current date for end date override
* Add validation for date overrides and implement tests for date generation within collection year
* Refactor date validation logic
* Add tests for date overrides in collection year logic
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* set renewal ppostcode on postcode change
* update test
* don't validate ppostcode format if nil
* reset ppcodenk if ppcode errors
---------
Co-authored-by: Carolyn <carolyn.barker@softwire.com>
* Adjust staircase difference validation to exclude initial purchase
* Update tests
* Keep validation as is, add error to firststair also
* Add method to generate random dates within collection year for logs
* Revert "Update tests"
This reverts commit e708187160.
* Update financial validations tests to reflect new error messages for firststair
* Update sales log test only pick a date up to 14 days away
* Lint
* Adjust merge date for future dates
* Update La test
* Fix date range logic in generate_different_date_within_collection_year method
* Refactor generate_different_date_within_collection_year to use keyword arguments for start and end date overrides in tests
* Refactor sales_log_spec to use descriptive variable names for date overrides
* Refactor merge_requests_helper_spec to use generated merge dates for consistency in tests
* Refactor generate_different_date_within_collection_year
* Refactor sales_log_spec to use generated sale date for duplicate log creation
* Refactor sales_log_spec to use fixed date values for end date and date after end date, mimics change of year without changing year
* Refactor merge_requests_helper_spec to use a fixed merge date for consistency in tests
* Refactor generate_different_date_within_collection_year to handle edge cases and return nil if no available dates
* use separate question text for shared and discounted mscharge from 2025
* refactor and rename copy variables
* Revert "refactor and rename copy variables"
This reverts commit 2d7eadef5a.
* separate out shared ownership leasehold charge into separate service charge question
* Revert "separate out shared ownership leasehold charge into separate service charge question"
This reverts commit 13a930dcb6.
* separate out shared ownership leasehold charge into separate question but same variable
---------
Co-authored-by: Carolyn <carolyn.barker@softwire.com>
* Update expected content
* Update expected content
* Update sales csv with 2025 mappings
* Remove comments
* Remove comments
* Remove comments
* Change hhype to hholdcount, exisiting bug
* Revert "Change hhype to hholdcount, exisiting bug"
This reverts commit ca8aab58ee.
* Update test file
* Add service charge fields to sales log CSV service
* Add created_by_id to SUPPORT_ONLY_ATTRIBUTES in sales log CSV service
* Add tests and CSV files for 2025 sales log export functionality
* Update sales log CSV service to prepare for new service charge fields
* Lint
* Update sales log CSV export labels for 2025
* Lint
* Add service charge fields and conditionally show service charge or mscharge in 2025 CSV
* Remove comments
* 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>
* validate staircasing dates
* validate staircasing percentage totals
* don't show both similar validations at once
* only validate against saledate when saledate present
* format numbers in error message
* add tests for staircasing validations
* linting
* don't block log creation on staircasing date errors
* combine similar validation methods
* update tests
* fix syntax
---------
Co-authored-by: Carolyn <carolyn.barker@softwire.com>
* rename variable for clarity
* remove unused variable
* make reactivating_soon message refer to the soonest, not most recently created
* status check all deactivation periods instead of just one
* handle no open period to reactivate
* test deactivation period related behaviour
* fix reactivation message variable syntax
* use before do instead of let for unreferenced variables
* fix reactivation message syntax for location
* fix test indentation
* remove unused variable - part 2
* lint
* handle edge case of overlapping periods
* end unclosed Timecop freeze causing flaky tests
* remove unused around blocks superseded by befores
* tidying up
* reinstate setup needed to test default date
* fix typo
* explain deactivation period validation logic
* fix setup to test default date
---------
Co-authored-by: Carolyn <carolyn.barker@softwire.com>
Co-authored-by: kosiakkatrina <54268893+kosiakkatrina@users.noreply.github.com>
* set renewal ppostcode on postcode change
* update test
* Update factory bot and set uprn_selection to uprn as in derived fields
* Revert "update test"
This reverts commit 3b34cd0086.
* Revert "set renewal ppostcode on postcode change"
This reverts commit d311c8e8ad.
* Rake task and tests
* Lint
* Update tests
* Remove flaky behaviour
* Update rake task with error logging
* Revert "Remove flaky behaviour"
This reverts commit d51a03f88e.
* Try to prevent flaky test behaviour
* Check status before and after change
* Do not update logs without any address fields yet entered
* Rename trait
* Update query
* Empty line
* Implement postcode fix and log ids of status changed
* Add rake task to fix affected logs after tasks first run
* Simplify query
* Update task and use bulk upload value, additional logging
* Update to handle failing save
* Update tests
* Add bu created log test
* Add task reenable
* Additional logging
* rename
---------
Co-authored-by: Carolyn <carolyn.barker@softwire.com>
* set renewal ppostcode on postcode change
* update test
* Update factory bot and set uprn_selection to uprn as in derived fields
* Revert "update test"
This reverts commit 3b34cd0086.
* Revert "set renewal ppostcode on postcode change"
This reverts commit d311c8e8ad.
* Rake task and tests
* Lint
* Update tests
* Remove flaky behaviour
* Update rake task with error logging
* Revert "Remove flaky behaviour"
This reverts commit d51a03f88e.
* Try to prevent flaky test behaviour
* Check status before and after change
* Do not update logs without any address fields yet entered
* Rename trait
* Update query
* Empty line
---------
Co-authored-by: Carolyn <carolyn.barker@softwire.com>
* Add sales export to the export service
* Update sales export
* Remove comments and redundant or statement
* Update sales export fields
* Add mrentprestaircasing, update factory and tests
* Enable sales export on test environments
* Update fees mappings for the export
* Upcase fields and rebase changes
* Update some more fields
* 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 error handling for JSON parsing in UPRN client
* Update error handling
* Update error handling 2
* Updates with sentry error reporting and test
* Add rails logger message as well as sentry
* Update address search results
* Add search controller tests
* Check if the query is nil when using the address-search api
* Refactor
---------
Co-authored-by: Manny Dinssa <44172848+Dinssa@users.noreply.github.com>
* Add postcode full
* Change back log address search method to only work for uprn selection
* Create address options method for address search
* Remove assignment
* Add tests
* Fix lint
* Fix lint and rewrite
* Prototype
* Remove git from dockerfile
* UPRN search too
* Revert address client and use uprn client
* Add address search to lettings too
* Updates with lettings logs
* Update copy
* Move guidance to partial
* Fix uprn return
* Delete new db file, restore old
* Lint
* Remove old db file
* Lint
* Add new db file, remove old
* JS lint
* Update schema
* Add manual entry option
* Update derived variables
* Comment out old version of find address in 2024
* Remove db column
* Add new db columns
* Update guidance partial
* Add unless to migration
* Add migration files to remove and readd
* authenticate user
* Remove file
* Delete migration files
* Add search url
* Add search url
* Fix onConfirm
* Add manual entry button instead of change skip link
* Revert "Add manual entry button instead of change skip link"
This reverts commit 22577c801a.
* Revert "Revert "Add manual entry button instead of change skip link""
This reverts commit 9f0a2111a5.
* Replace uprn question
* Update question copy
* Allow changing the address search value
* Rename address autocomplete to address search
* Add buttons to switch between address questions
* Fix controller logic
* Enable adding question numbers to page headers
* Update skip links
* Add js disabled message to select
* Alternative way to handle js disabled users
* Revert "Alternative way to handle js disabled users"
This reverts commit 10da3d61e2.
* Fix typo
* Fix address options for address search question
* Reuse AddressDataPresenter where appropriate
* Lint
* Remove uprn selection question tests
* Reuse UprnDataPresenter where appropriate
* CSV export, exclude address_search
* Add address search to sales and lettings factory bots
* Exclude old address questions from routing, keep as exported values
* lint
* Update uprn value
* Add address search input boolean and switch between questions
* Reword copy, remove "Find" and "Search by"
* Align address questions, add question number and question text
* Remove old wip depends on
* Update some tests
* Update migration, move default value from db to model
* Update test
* Remove binding pry
* Lint
* Update test
* Lint
* Update test
* Update routes with underscores
* Remove debugging
* Limit visible logs to user
* Add manual address entry selected variable
* Change address search min length to 3chars
* Remove binding.pry
* Update factory bots, manual_address_entry_selected to true for preexisting tests
* Update model tests
* Update sales model tests excl E-code tests
* Update address search request test
* Reuse uprn id instead of address_search
* Set manual address entry selected as false when creating test logs
* Update model test
* Update request tests and remove old questions
* Add back test
* Update services
* Update more tests
Co-authored-by: kosiakkatrina <kosiakkatrina@users.noreply.github.com>
* Update request tests
* update model tests
* Also update sales log
* Update service csv uprn_selection values to 1
* Add tests for pages and questions
* Update test
* Update uprn_known
* Lint
* Add feature test
* Update test
* Update tests
* Remove test
* pre-consolidate migration files
* Indentation
* Controller method improvements
* Update question numbers for 2025/26
* Update question numbers tests
* consolidate and delete old migration files
* undo changes to schema.rb
* Update 2025 property information translation files
* Update answer options to show singular previously selected result if present
* Move buttons to bottom guidance partials
* Small improvements, make address search and existing search more similar
* Validate entered addresses as within England
* Update test
* Revert "Validate entered addresses as within England"
This reverts commit 2dbfbcc8a5.
* Add missing button to sales address page
* Change error code
* Clear invalid options
* Edit no results message method
* Keep no result logic just change text
* Display uprn value with address value
* Still show no results message when characters entered is less than 3 rather than nothing
* Fix uprn result when query is ambiguous
* Reduce min match for address search
* Hide no result found message just before results are populated
* Prevent changing logs to 2025 with invalid addresses
* Correct attribute name
* Handle nil
* Remove custom error message
* Remove unused variables from factory
* Update tests, remove address and postcode from old find address
* Fix bug clearing uprn from see all answers
* Revert "Fix bug clearing uprn from see all answers"
This reverts commit a66c47a1ab.
* Undo changes to validation method
* Fix unchanged uprn_selection when clearing or changing uprn
* Undo a change
* Update bulk upload 2025
* Fix typo
* Remove redundant line
---------
Co-authored-by: Kat <54268893+kosiakkatrina@users.noreply.github.com>
Co-authored-by: kosiakkatrina <kosiakkatrina@users.noreply.github.com>
* Add validation on reasonpref dontknow
* Add test
* Update method
* Update setting errors
* Update test
* Add tests for rake task
* separate out tests
* Test updated at, excluding pre 2024
* Update 2025 row parser
* Clear values if rp_dontknow conflict exists
* Reorder, no change just precautionary
* Put back code removed
* Rename old renewal prp page and question
* Update subsection
* Add referral_type to lettings logs
* Add two-step source of referral for letting questions
* Update test
* Update validations
* Update tests with referral_type
* Fix test
* Update test
* Update referral type
* Update factory bot
* Remove hint text
* Change check answer label
* Update incorrect value
* Rename old referral pages and questions
* Update referral type options
* Remove clearing
* Update id name
* Update row parser for referral type
* Update test