* 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
* log row numbers of any logs still invalid after blanking non setup fields
* include first invalid row in sentry message
---------
Co-authored-by: Carolyn <carolyn.barker@softwire.com>
* 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>
* Update discount attribute to be saved as a float
* Equity fields as decimals
* Stairbought and stairowned fields as decimals
* mrentprestaircasing as decimal
* value fields as decimal
* deposit fields as decimal
* cashdis as decimal
* mscharge fields as decimal
* mortgage fields as decimal
* Update 2024 value fields
* Update 2024 mortgage fields
* Update 2024 deposit fields
* Update 2024 cashdis field
* Update 2024 stairbought and stairowned fields
* Update 2024 equity field
* Update 2024 discount field
* Update 2024 mscharge fields (2/3)
* 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