* Hide address questions for schemes marked 'sensitive'
* Add BU handling
* Add redundant routing to LA question logic
* Small refactors
* Remove redundant comment
* Add supported housing only error message to Q16
* Add supported housing only error message to Q17
* Add the drop-down on Q16
* Add suffix to BU errors
* Fix failing test
* Improve tests
* Small refactors
* Sensitive test value refactor
* Fix lint
content:"<p>The Unique Property Reference Number (UPRN) is a unique number system created by Ordnance Survey and used by housing providers and various industries across the UK. An example is 0010457355.</p>
content:"<p>The Unique Property Reference Number (UPRN) is a unique number system created by Ordnance Survey and used by housing providers and various industries across the UK. An example is 0010457355.</p>
<p>The UPRN may not be the same as the property reference assigned by your organisation.</p>"
<p>The UPRN may not be the same as the property reference assigned by your organisation.</p>"
confidential_supported_lettings:
title:"What should I do for confidential supported lettings?"
content:"Full address or UPRN is not required for confidential supported lettings. You are seeing this question because the scheme you chose in the ‘Set up this lettings log’ section does not have the ‘Confidential information’ box ticked. Please check the scheme you chose. If a scheme needs updating to mark it as confidential, a CORE coordinator in your organisation can do this. If you or they need further assistance contact the helpdesk."
needs_type:
needs_type:
title:"What does each need type mean?"
title:"What does each need type mean?"
content:"General needs housing includes both self-contained and shared housing without support or specific adaptations.<br><br>Supported housing is housing with special design facilities or features targeted at a specific client group requiring support, for example housing designed for older people, sheltered accommodation, extra care housing. It can include direct access hostels, group homes, and purpose-built self-contained housing. We do not require CORE logs for residential care or nursing homes."
content:"General needs housing includes both self-contained and shared housing without support or specific adaptations.<br><br>Supported housing is housing with special design facilities or features targeted at a specific client group requiring support, for example housing designed for older people, sheltered accommodation, extra care housing. It can include direct access hostels, group homes, and purpose-built self-contained housing. We do not require CORE logs for residential care or nursing homes."
one:"There is a possible match for this address which doesn't look right. Check the address data in your CSV file is correct and complete, or confirm the address in the service."
one:"There is a possible match for this address which doesn't look right. Check the address data in your CSV file is correct and complete, or confirm the address in the service."
multiple:"There are multiple matches for this address. Check the address data in your CSV file is correct and complete, or select the correct address in the service."
multiple:"There are multiple matches for this address. Check the address data in your CSV file is correct and complete, or select the correct address in the service."
not_answered:"Enter either the UPRN or the full address."
not_answered:"Enter either the UPRN or the full address."
confidential_scheme_suffix:"If your letting is in a confidential scheme, check the scheme you chose. A coordinator can edit a scheme to confidential on the ‘Schemes' page."
not_answered_supported_housing:"You must enter address. If your letting is in a confidential scheme, please check the scheme you chose in the ‘Set up this lettings log’ section. If a scheme needs updating to mark it as confidential, a CORE coordinator in your organisation can do this."
address_line1:
not_answered_supported_housing:"You must enter address line 1. If your letting is in a confidential scheme, please check the scheme you chose in the ‘Set up this lettings log’ section. If a scheme needs updating to mark it as confidential, a CORE coordinator in your organisation can do this."
postcode_full:
postcode_full:
invalid:"Enter a postcode in the correct format, for example AA1 1AA."
invalid:"Enter a postcode in the correct format, for example AA1 1AA."
not_in_england:"It looks like you have an entered a postcode outside of England. Only create logs for lettings in England."
not_in_england:"It looks like you have an entered a postcode outside of England. Only create logs for lettings in England."
"You must enter address line 1. If your letting is in a confidential scheme, please check the scheme you chose in the ‘Set up this lettings log’ section. If a scheme needs updating to mark it as confidential, a CORE coordinator in your organisation can do this.",
"You must enter address. If your letting is in a confidential scheme, please check the scheme you chose in the ‘Set up this lettings log’ section. If a scheme needs updating to mark it as confidential, a CORE coordinator in your organisation can do this.",
@ -1676,10 +1679,10 @@ RSpec.describe BulkUpload::Lettings::Year2026::RowParser do
it"adds errors to missing key address fields"do
it"adds errors to missing key address fields"do
parser.valid?
parser.valid?
expect(parser.errors[:field_19]).toeql([I18n.t("validations.lettings.2026.bulk_upload.not_answered",question:"address line 1.")])
expect(parser.errors[:field_19]).toeql(["#{I18n.t('validations.lettings.2026.bulk_upload.not_answered',question:'address line 1.')}#{confidential_suffix}"])
expect(parser.errors[:field_21]).toeql([I18n.t("validations.lettings.2026.bulk_upload.not_answered",question:"town or city.")])
expect(parser.errors[:field_21]).toeql(["#{I18n.t('validations.lettings.2026.bulk_upload.not_answered',question:'town or city.')}#{confidential_suffix}"])
expect(parser.errors[:field_23]).toeql([I18n.t("validations.lettings.2026.bulk_upload.not_answered",question:"part 1 of postcode.")])
expect(parser.errors[:field_23]).toeql(["#{I18n.t('validations.lettings.2026.bulk_upload.not_answered',question:'part 1 of postcode.')}#{confidential_suffix}"])
expect(parser.errors[:field_24]).toeql([I18n.t("validations.lettings.2026.bulk_upload.not_answered",question:"part 2 of postcode.")])
expect(parser.errors[:field_24]).toeql(["#{I18n.t('validations.lettings.2026.bulk_upload.not_answered',question:'part 2 of postcode.')}#{confidential_suffix}"])
end
end
end
end
@ -1707,11 +1710,20 @@ RSpec.describe BulkUpload::Lettings::Year2026::RowParser do
it"adds appropriate errors to UPRN and key address fields"do
it"adds appropriate errors to UPRN and key address fields"do