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: Export records where a related one has updated
for instance, re-export all users in an org if the name updates
rework the export code a little to allow for this to be expressed cleanly
* CLDC-4028: Add tests
* Reapply "CLDC-4043: Ensure that if an Organisation merge fails due to a valida…" (#3092)
This reverts commit 13ba0cc735.
* CLDC-4034: TEST throw RecordInvalid on merge
* Revert "CLDC-4034: TEST throw RecordInvalid on merge"
This reverts commit 9f1155ad13.
* Bump activerecord from 7.2.2.1 to 7.2.2.2
Bumps [activerecord](https://github.com/rails/rails) from 7.2.2.1 to 7.2.2.2.
- [Release notes](https://github.com/rails/rails/releases)
- [Changelog](https://github.com/rails/rails/blob/v8.0.2.1/activerecord/CHANGELOG.md)
- [Commits](https://github.com/rails/rails/compare/v7.2.2.1...v7.2.2.2)
---
updated-dependencies:
- dependency-name: activerecord
dependency-version: 7.2.2.2
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
* CLDC-NONE: fix test impacted by BigInteger update
calculator verifies that this is the correct answer and previous was wrong
* CLDC-NONE: fix financial test impacted by BigInteger update
19.99 / 2 rounds to 10 so this test looks to be wrong
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Samuel Young <samuel.young@softwire.com>
* CLDC-4074 Updated sales log tests to use filters from the current year instead of a fixed one
* CLDC-4074: Update other sales log tests to use the current year instead of a fixed one
* CLDC-4074: Update more failing tests
* CLDC-4074: Remove some 2024 sales log tests
* CLDC-4074: Ignore a failing request test
* CLDC-4074: Fix lettings log services tests
* CLDC-4074: Fix merge request helper spec
* CLDC-4074: Fix rake tests for 2024 logs
* CLDC-4074: Fix guidance helper tests
* CLDC-4074: Fix skipped tests
* CLDC-4074: Update tests for 2023 edit closing (#3095)
* CLDC-4074: Fix model tests
* CLDC-4074: Fix requests tests
* CLDC-4074: Fix services tests
* CLDC-4074: Fix rake tasks tests
the broken ones only make sense for 2024 logs so feels like timecop is the only option
* CLDC-4074: Specify why some tests are not validated based on year
---------
Co-authored-by: Samuel Young <samuel.young@softwire.com>
* Add questions to page, wip
* Add select as conditional question in radio like in logs
* Add existing value
* Add blank default
* Add values to about this organisation page
* Move grabbing values out of view
* Update new org page with js
* Selecting the profit status dependent on the provider type
* Add to org edit page for support users
* Add group logic
* Fix bug on existing orgs when group remains unchanged
* Clear group details if no longer part of a group
* Lint
* JS Lint
* Restore schema
* Remove manual_address_selected
* Revert "Remove manual_address_selected"
This reverts commit 812787fd09.
* Revert "Revert "Remove manual_address_selected""
This reverts commit 8ebd56036f.
* Update migration
* Remove file
* Move update after save
* Move methods to controller
* Update xml export
* Lint
* Update test xml file
* Update current user logic
* Lint
* Lint
* Reorder org js controller
* Lint
* Add tests to helper
* Some tests on the organisation pages
* Fix label text for profit status question in forms
* Add CSV task to update organisation profit status and group member fields
* only associate group on update if validation passes
* Update import raketask to use provided csv
looking into it I couldn't see a use for skip_group_member_validation. it temporarily disables validation but since it's not saved to database it'll make the organisation invalid in the future
opted instead to make all properties valid when importing
* Update tests to check more cases of organisation import
* Make XML tests check unordered file contents
stops tests flakily failing on the order of cols which is not important in xml
* Fix final failing tests
* restore manual_address_selected migration
* fix it's to its
* show the user the group they originally selected if possible when editing group
else fallback to any (oldest) org in the group
* update csv for ingest
---------
Co-authored-by: Manny Dinssa <44172848+Dinssa@users.noreply.github.com>
* ensure nil locations are never overwritten
* add a verifying test
* fixup! add a verifying test
remove unneeded context
* fixup! add a verifying test
clarify test structure
* no longer raise a rollback on merge fail
this caused the error to not be bubbled up correctly, meaning the catch in process_merge_request_job was not being triggered, and so not setting the merge back to ready
raising any exception will trigger a rollback
* update tests
* Add validation message for missing charge fields in bulk upload
* Update error messages for missing charges in row parser tests
* only annotate errors to the other fields if there was an error
---------
Co-authored-by: Samuel <samuel.young@softwire.com>
* Fix flaky tests - date handling in generate_different_date_within_collection_year
* Update tests to include inclusive range checks for date generation
* Separate change organisations name from organisation edit view
* Remove change_name action from organisations_controller for unauthorized access handling
* Add migration for organisation name changes
* Implement organisation name change feature with history tracking
* Update organisation label methods to accept date parameter for accurate historical representation
* Rename change_name view to new and move it for clarity and consistency
* Refactor organisation name change logic to ensure visibility and uniqueness of change dates
* Refactor organisation name changes to use integer for change_type and date for change_date
* Update validation error message for duplicate change dates in organisation name changes
* Update validation logic for change dates to handle immediate changes
* Rename change_date to startdate in organisation name changes and update related logic
* Make change_type nullable in organisation name changes table
* Remove debug logging for organisation name change parameters
* Update conditional question data-info to use startdate instead of scheduled_date
* Bug fix - ensure startdate is set only if not already defined for immediate changes
* Fix immediate_change parameter type casting in organisation name change params
* Refactor name_changes_with_dates method to streamline fetching and status assignment
* Enhance layout in new.html.erb by adding additional grid columns for improved structure
* Update status assignment logic in organisation.rb to reflect active state when no changes exist
* Add validation to ensure start date is before organisation's merge date if present
* Drop organisation_name_changes table if it exists
* Remove organisation_name_changes table from schema
* Add organisation_name_changes table
* Lint fixes
* Lint fixes
* Add FactoryBot definition for organisation_name_change
* Add tests for organisation name changes
* Enhance validations and add tests for organisation name changes
* Lint
* Add tests for OrganisationNameChangesController actions
* Add comments in OrganisationNameChange
* Refactor organisation name change validations to use I18n for error messages
* Fix name method to allow nil date parameter and default to current time
* Update organisation name retrieval to support date parameter in exports
* Remove change_type attribute from organisation name changes
* Lint fix
* Update organisation status logic to account for future start dates of the first change
* Refactor name history display into a partial for better code organization
* Add cancel functionality for scheduled name changes with confirmation page
* lint
* lint
* 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>