From ae9ea5707bf08af3b9fd23fd937dd3416788c2c5 Mon Sep 17 00:00:00 2001 From: Kat Date: Thu, 3 Aug 2023 12:46:28 +0100 Subject: [PATCH] displays managing agents of merged organisation selected as owning org --- .../questions/managing_organisation.rb | 6 +++++- .../questions/managing_organisation_spec.rb | 19 ++++++++++++++++--- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/app/models/form/lettings/questions/managing_organisation.rb b/app/models/form/lettings/questions/managing_organisation.rb index 492a85885..fba91fb60 100644 --- a/app/models/form/lettings/questions/managing_organisation.rb +++ b/app/models/form/lettings/questions/managing_organisation.rb @@ -30,7 +30,11 @@ class Form::Lettings::Questions::ManagingOrganisation < ::Form::Question orgs = if user.support? log.owning_organisation.managing_agents else - user.organisation.managing_agents + if user.organisation.absorbed_organisations.include?(log.owning_organisation) + user.organisation.managing_agents + log.owning_organisation.managing_agents + else + user.organisation.managing_agents + end end.pluck(:id, :name).to_h user.organisation.absorbed_organisations.each do |absorbed_org| diff --git a/spec/models/form/lettings/questions/managing_organisation_spec.rb b/spec/models/form/lettings/questions/managing_organisation_spec.rb index 4b6433062..f6a346e2a 100644 --- a/spec/models/form/lettings/questions/managing_organisation_spec.rb +++ b/spec/models/form/lettings/questions/managing_organisation_spec.rb @@ -172,15 +172,28 @@ RSpec.describe Form::Lettings::Questions::ManagingOrganisation, type: :model do create(:lettings_log, owning_organisation: absorbing_org, managing_organisation: nil) end - let(:options) do - { + it "displays merged organisation on the list of choices" do + options = { "" => "Select an option", absorbing_org.id => "Absorbing org (Your organisation)", merged_org.id => "Merged org (active until 2 August 2023)", + merged_org.id => "Merged org (active until 2 August 2023)", } + expect(question.displayed_answer_options(log, user)).to eq(options) end - it "displays merged organisation on the list of choices" do + it "displays managing agents of merged organisation selected as owning org" do + managing_agent = create(:organisation, name: "Managing org 1") + create(:organisation_relationship, parent_organisation: merged_org, child_organisation: managing_agent) + + options = { + "" => "Select an option", + merged_org.id => "Merged org (active until 2 August 2023)", + absorbing_org.id => "Absorbing org (Your organisation)", + managing_agent.id => "Managing org 1", + } + + log.update!(owning_organisation: merged_org) expect(question.displayed_answer_options(log, user)).to eq(options) end end