diff --git a/spec/models/form/lettings/questions/managing_organisation_spec.rb b/spec/models/form/lettings/questions/managing_organisation_spec.rb index feaa673b9..f8d7ae8e4 100644 --- a/spec/models/form/lettings/questions/managing_organisation_spec.rb +++ b/spec/models/form/lettings/questions/managing_organisation_spec.rb @@ -74,46 +74,44 @@ RSpec.describe Form::Lettings::Questions::ManagingOrganisation, type: :model do end end - context "when user is support and org does own stock" do + context "when user is support" do let(:user) { create(:user, :support) } - let(:log_owning_org) { create(:organisation, name: "Owning org", holds_own_stock: true) } + let(:log_owning_org) { create(:organisation, name: "Owning org") } let(:log) { create(:lettings_log, owning_organisation: log_owning_org, managing_organisation: create(:organisation, name: "Managing org 1"), created_by: nil) } let!(:org_rel1) { create(:organisation_relationship, parent_organisation: log_owning_org, child_organisation: create(:organisation, name: "Managing org 2")) } let!(:org_rel2) { create(:organisation_relationship, parent_organisation: log_owning_org, child_organisation: create(:organisation, name: "Managing org 3")) } - let(:options) do - { - "" => "Select an option", - log.managing_organisation.id => "Managing org 1", - log_owning_org.id => "Owning org (Owning organisation)", - org_rel1.child_organisation.id => "Managing org 2", - org_rel2.child_organisation.id => "Managing org 3", - } - end - - it "shows current managing agent at top, followed by the current owning organisation (with hint), followed by the managing agents of the current owning organisation" do - expect(question.displayed_answer_options(log, user)).to eq(options) - end - end - - context "when user is support and org does not own stock" do - let(:user) { create(:user, :support) } - let(:log_owning_org) { create(:organisation, name: "Owning org", holds_own_stock: false) } - let(:log) { create(:lettings_log, owning_organisation: log_owning_org, managing_organisation: create(:organisation, name: "Managing org 1"), created_by: nil) } - let!(:org_rel1) { create(:organisation_relationship, parent_organisation: log_owning_org, child_organisation: create(:organisation, name: "Managing org 2")) } - let!(:org_rel2) { create(:organisation_relationship, parent_organisation: log_owning_org, child_organisation: create(:organisation, name: "Managing org 3")) } - - let(:options) do - { - "" => "Select an option", - log.managing_organisation.id => "Managing org 1", - org_rel1.child_organisation.id => "Managing org 2", - org_rel2.child_organisation.id => "Managing org 3", - } - end - - it "shows current managing agent at top, followed by the managing agents of the current owning organisation" do - expect(question.displayed_answer_options(log, user)).to eq(options) + context "when org owns stock" do + let(:options) do + { + "" => "Select an option", + log.managing_organisation.id => "Managing org 1", + log_owning_org.id => "Owning org (Owning organisation)", + org_rel1.child_organisation.id => "Managing org 2", + org_rel2.child_organisation.id => "Managing org 3", + } + end + + it "shows current managing agent at top, followed by the current owning organisation (with hint), followed by the managing agents of the current owning organisation" do + log_owning_org.update(holds_own_stock: true) + expect(question.displayed_answer_options(log, user)).to eq(options) + end + end + + context "when org does not own stock" do + let(:options) do + { + "" => "Select an option", + log.managing_organisation.id => "Managing org 1", + org_rel1.child_organisation.id => "Managing org 2", + org_rel2.child_organisation.id => "Managing org 3", + } + end + + it "shows current managing agent at top, followed by the managing agents of the current owning organisation" do + log_owning_org.update(holds_own_stock: false) + expect(question.displayed_answer_options(log, user)).to eq(options) + end end end