From 277e3a2e0158895b8334a7f35410edee90da497d Mon Sep 17 00:00:00 2001 From: Jack S Date: Mon, 12 Jun 2023 14:22:33 +0100 Subject: [PATCH] Add tests for display_organisation_attributes --- app/models/organisation.rb | 1 - spec/models/organisation_spec.rb | 45 ++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+), 1 deletion(-) diff --git a/app/models/organisation.rb b/app/models/organisation.rb index b39c5b176..2096d71d1 100644 --- a/app/models/organisation.rb +++ b/app/models/organisation.rb @@ -112,7 +112,6 @@ class Organisation < ApplicationRecord { name: "Owns housing stock", value: holds_own_stock ? "Yes" : "No", editable: false }, ].compact - # TODO: test unless FeatureToggle.new_data_protection_confirmation? attrs << { name: "Data protection agreement", value: data_protection_agreement_string, editable: false } end diff --git a/spec/models/organisation_spec.rb b/spec/models/organisation_spec.rb index ad9034d35..e52317065 100644 --- a/spec/models/organisation_spec.rb +++ b/spec/models/organisation_spec.rb @@ -230,4 +230,49 @@ RSpec.describe Organisation, type: :model do end end end + + describe "display_organisation_attributes" do + let(:organisation) { create(:organisation) } + + context "when new_data_protection_confirmation flag enabled" do + before do + allow(FeatureToggle).to receive(:new_data_protection_confirmation?).and_return(true) + end + + it "does not include data protection agreement" do + expect(organisation.display_organisation_attributes).to eq( + [{ editable: true, name: "Name", value: "DLUHC" }, + { editable: true, + name: "Address", + value: "2 Marsham Street\nLondon\nSW1P 4DF" }, + { editable: true, name: "Telephone_number", value: nil }, + { editable: false, name: "Type of provider", value: "Local authority" }, + { editable: false, name: "Registration number", value: "1234" }, + { editable: false, format: :bullet, name: "Rent_periods", value: %w[All] }, + { editable: false, name: "Owns housing stock", value: "Yes" }], + ) + end + end + + context "when new_data_protection_confirmation flag disabled" do + before do + allow(FeatureToggle).to receive(:new_data_protection_confirmation?).and_return(false) + end + + it "includes data protection agreement" do + expect(organisation.display_organisation_attributes).to eq( + [{ editable: true, name: "Name", value: "DLUHC" }, + { editable: true, + name: "Address", + value: "2 Marsham Street\nLondon\nSW1P 4DF" }, + { editable: true, name: "Telephone_number", value: nil }, + { editable: false, name: "Type of provider", value: "Local authority" }, + { editable: false, name: "Registration number", value: "1234" }, + { editable: false, format: :bullet, name: "Rent_periods", value: %w[All] }, + { editable: false, name: "Owns housing stock", value: "Yes" }, + { editable: false, name: "Data protection agreement", value: "Accepted" }], + ) + end + end + end end