Browse Source

CLDC-3126: Update privacy notice question wording

pull/2240/head
Rachael Booth 11 months ago committed by Rachael Booth
parent
commit
2d83feadb4
  1. 13
      app/models/form/lettings/questions/declaration.rb
  2. 15
      app/models/form/sales/questions/privacy_notice.rb
  3. 1
      app/views/form/guidance/_privacy_notice_buyer_2024.erb
  4. 1
      app/views/form/guidance/_privacy_notice_tenant_2024.erb
  5. 81
      spec/models/form/lettings/questions/declaration_spec.rb
  6. 34
      spec/models/form/sales/questions/privacy_notice_spec.rb

13
app/models/form/lettings/questions/declaration.rb

@ -6,10 +6,17 @@ class Form::Lettings::Questions::Declaration < ::Form::Question
@header = "Declaration"
@type = "checkbox"
@check_answers_card_number = 0
@top_guidance_partial = "privacy_notice_tenant"
@answer_options = ANSWER_OPTIONS
@top_guidance_partial = form.start_year_after_2024? ? "privacy_notice_tenant_2024" : "privacy_notice_tenant"
@question_number = 30
end
ANSWER_OPTIONS = { "declaration" => { "value" => "The tenant has seen the DLUHC privacy notice" } }.freeze
def answer_options
declaration_text = if form.start_year_after_2024?
"The tenant has seen or been given access to the DLUHC privacy notice"
else
"The tenant has seen the DLUHC privacy notice"
end
{ "declaration" => { "value" => declaration_text } }.freeze
end
end

15
app/models/form/sales/questions/privacy_notice.rb

@ -5,12 +5,17 @@ class Form::Sales::Questions::PrivacyNotice < ::Form::Question
@check_answer_label = "Buyer has seen the privacy notice?"
@header = "Declaration"
@type = "checkbox"
@answer_options = ANSWER_OPTIONS
@top_guidance_partial = "privacy_notice_buyer"
@top_guidance_partial = form.start_year_after_2024? ? "privacy_notice_buyer_2024" : "privacy_notice_buyer"
@question_number = 19
end
ANSWER_OPTIONS = {
"privacynotice" => { "value" => "The buyer has seen the DLUHC privacy notice" },
}.freeze
def answer_options
declaration_text = if form.start_year_after_2024?
"The buyer has seen or been given access to the DLUHC privacy notice"
else
"The buyer has seen the DLUHC privacy notice"
end
{ "privacynotice" => { "value" => declaration_text } }.freeze
end
end

1
app/views/form/guidance/_privacy_notice_buyer_2024.erb

@ -0,0 +1 @@
<p class="govuk-body">Make sure the buyer has seen or been given access to <%= govuk_link_to "the Department for Levelling Up, Housing & Communities (DLUHC) privacy notice", privacy_notice_path, target: :_blank %> before completing this log. This is a legal requirement under data protection legislation.</p>

1
app/views/form/guidance/_privacy_notice_tenant_2024.erb

@ -0,0 +1 @@
<p class="govuk-body">Make sure the lead tenant has seen or been given access to <%= govuk_link_to "the Department for Levelling Up, Housing & Communities (DLUHC) privacy notice", privacy_notice_path, target: :_blank %> before completing this log. This is a legal requirement under data protection legislation.</p>

81
spec/models/form/lettings/questions/declaration_spec.rb

@ -0,0 +1,81 @@
require "rails_helper"
RSpec.describe Form::Lettings::Questions::Declaration, type: :model do
subject(:question) { described_class.new(question_id, question_definition, page) }
let(:question_id) { nil }
let(:question_definition) { nil }
let(:page) { instance_double(Form::Page) }
let(:subsection) { instance_double(Form::Subsection) }
let(:form) { instance_double(Form) }
before do
allow(form).to receive(:start_year_after_2024?)
allow(page).to receive(:subsection).and_return(subsection)
allow(subsection).to receive(:form).and_return(form)
end
it "has correct page" do
expect(question.page).to eq(page)
end
it "has the correct id" do
expect(question.id).to eq("declaration")
end
it "has the correct header" do
expect(question.header).to eq("Declaration")
end
it "has the correct check_answer_label" do
expect(question.check_answer_label).to eq("Tenant has seen the privacy notice")
end
it "has the correct type" do
expect(question.type).to eq("checkbox")
end
it "is not marked as derived" do
expect(question.derived?).to be false
end
it "has the correct hint" do
expect(question.hint_text).to be_nil
end
context "when the form year is before 2024" do
before do
allow(form).to receive(:start_year_after_2024?).and_return(false)
end
it "has the correct answer_options" do
expect(question.answer_options).to eq({
"declaration" => { "value" => "The tenant has seen the DLUHC privacy notice" },
})
end
it "uses the expected top guidance partial" do
expect(question.top_guidance_partial).to eq("privacy_notice_tenant")
end
end
context "when the form year is >= 2024" do
before do
allow(form).to receive(:start_year_after_2024?).and_return(true)
end
it "has the correct answer_options" do
expect(question.answer_options).to eq({
"declaration" => { "value" => "The tenant has seen or been given access to the DLUHC privacy notice" },
})
end
it "uses the expected top guidance partial" do
expect(question.top_guidance_partial).to eq("privacy_notice_tenant_2024")
end
end
it "returns correct unanswered_error_message" do
expect(question.unanswered_error_message).to eq("You must show the DLUHC privacy notice to the tenant before you can submit this log.")
end
end

34
spec/models/form/sales/questions/privacy_notice_spec.rb

@ -6,6 +6,14 @@ RSpec.describe Form::Sales::Questions::PrivacyNotice, type: :model do
let(:question_id) { nil }
let(:question_definition) { nil }
let(:page) { instance_double(Form::Page) }
let(:subsection) { instance_double(Form::Subsection) }
let(:form) { instance_double(Form) }
before do
allow(form).to receive(:start_year_after_2024?)
allow(page).to receive(:subsection).and_return(subsection)
allow(subsection).to receive(:form).and_return(form)
end
it "has correct page" do
expect(question.page).to eq(page)
@ -35,12 +43,38 @@ RSpec.describe Form::Sales::Questions::PrivacyNotice, type: :model do
expect(question.hint_text).to be_nil
end
context "when the form year is before 2024" do
before do
allow(form).to receive(:start_year_after_2024?).and_return(false)
end
it "has the correct answer_options" do
expect(question.answer_options).to eq({
"privacynotice" => { "value" => "The buyer has seen the DLUHC privacy notice" },
})
end
it "uses the expected top guidance partial" do
expect(question.top_guidance_partial).to eq("privacy_notice_buyer")
end
end
context "when the form year is >= 2024" do
before do
allow(form).to receive(:start_year_after_2024?).and_return(true)
end
it "has the correct answer_options" do
expect(question.answer_options).to eq({
"privacynotice" => { "value" => "The buyer has seen or been given access to the DLUHC privacy notice" },
})
end
it "uses the expected top guidance partial" do
expect(question.top_guidance_partial).to eq("privacy_notice_buyer_2024")
end
end
it "returns correct unanswered_error_message" do
expect(question.unanswered_error_message).to eq("You must show the DLUHC privacy notice to the buyer before you can submit this log.")
end

Loading…
Cancel
Save