Browse Source

Only display name once in the locations if only Ecode has changed

pull/2888/head
Kat 4 months ago
parent
commit
32dd02c7ea
  1. 2
      app/helpers/locations_helper.rb
  2. 22
      spec/helpers/locations_helper_spec.rb

2
app/helpers/locations_helper.rb

@ -150,7 +150,7 @@ private
def formatted_local_authority_timeline(location)
sorted_linked_authorities = location.linked_local_authorities.sort_by(&:start_date)
return sorted_linked_authorities.first["name"] if sorted_linked_authorities.count == 1
return sorted_linked_authorities.first["name"] if sorted_linked_authorities.count == 1 || sorted_linked_authorities.map(&:name).uniq.count == 1
sorted_linked_authorities.map { |linked_local_authority|
formatted_start_date = linked_local_authority.start_date.year == 2021 ? "until" : "#{linked_local_authority.start_date&.to_formatted_s(:govuk_date)} -"

22
spec/helpers/locations_helper_spec.rb

@ -368,4 +368,26 @@ RSpec.describe LocationsHelper do
end
end
end
describe "formatted_local_authority_timeline" do
before do
LocalAuthorityLink.create!(local_authority_id: LocalAuthority.find_by(code: "E07000030").id, linked_local_authority_id: LocalAuthority.find_by(code: "E06000063").id)
LocalAuthorityLink.create!(local_authority_id: LocalAuthority.find_by(code: "E08000016").id, linked_local_authority_id: LocalAuthority.find_by(code: "E08000038").id)
end
context "when the location LA's have changed" do
let(:location) { FactoryBot.create(:location, location_code: "E07000030") }
it "displays a timeline of LAs" do
expect(formatted_local_authority_timeline(location)).to eq("Eden (until 31 March 2023)\nCumberland (1 April 2023 - present)")
end
end
context "when the LA name hasn't changed but Ecode has changed" do
let(:location) { FactoryBot.create(:location, location_code: "E08000016") }
it "only displays the location name once" do
expect(formatted_local_authority_timeline(location)).to eq("Barnsley")
end
end
end
end

Loading…
Cancel
Save