Browse Source

add new answer options to nationality, rename question, write test file (#1339)

pull/1409/head
Arthur Campbell 2 years ago committed by GitHub
parent
commit
2b51add701
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      app/models/form/lettings/pages/lead_tenant_nationality.rb
  2. 6
      app/models/form/lettings/questions/nationality.rb
  3. 48
      spec/models/form/lettings/questions/nationality_spec.rb

2
app/models/form/lettings/pages/lead_tenant_nationality.rb

@ -6,6 +6,6 @@ class Form::Lettings::Pages::LeadTenantNationality < ::Form::Page
end end
def questions def questions
@questions ||= [Form::Lettings::Questions::National.new(nil, nil, self)] @questions ||= [Form::Lettings::Questions::Nationality.new(nil, nil, self)]
end end
end end

6
app/models/form/lettings/questions/national.rb → app/models/form/lettings/questions/nationality.rb

@ -1,9 +1,9 @@
class Form::Lettings::Questions::National < ::Form::Question class Form::Lettings::Questions::Nationality < ::Form::Question
def initialize(id, hsh, page) def initialize(id, hsh, page)
super super
@id = "national" @id = "national"
@check_answer_label = "Lead tenant’s nationality" @check_answer_label = "Lead tenant’s nationality"
@header = "What is the lead tenant’s nationality?" @header = "What is the nationality of the lead tenant?"
@type = "radio" @type = "radio"
@check_answers_card_number = 1 @check_answers_card_number = 1
@hint_text = "The lead tenant is the person in the household who does the most paid work. If several people do the same paid work, the lead tenant is whoever is the oldest." @hint_text = "The lead tenant is the person in the household who does the most paid work. If several people do the same paid work, the lead tenant is whoever is the oldest."
@ -14,6 +14,8 @@ class Form::Lettings::Questions::National < ::Form::Question
"18" => { "value" => "United Kingdom" }, "18" => { "value" => "United Kingdom" },
"17" => { "value" => "Republic of Ireland" }, "17" => { "value" => "Republic of Ireland" },
"19" => { "value" => "European Economic Area (EEA) country, excluding Ireland" }, "19" => { "value" => "European Economic Area (EEA) country, excluding Ireland" },
"20" => { "value" => "Afghanistan" },
"21" => { "value" => "Ukraine" },
"12" => { "value" => "Other" }, "12" => { "value" => "Other" },
"divider" => true, "divider" => true,
"13" => { "value" => "Tenant prefers not to say" }, "13" => { "value" => "Tenant prefers not to say" },

48
spec/models/form/lettings/questions/nationality_spec.rb

@ -0,0 +1,48 @@
require "rails_helper"
RSpec.describe Form::Lettings::Questions::Nationality, type: :model do
subject(:question) { described_class.new(nil, nil, page) }
let(:page) { instance_double(Form::Page) }
it "has correct page" do
expect(question.page).to eq(page)
end
it "has the correct id" do
expect(question.id).to eq("national")
end
it "has the correct header" do
expect(question.header).to eq("What is the nationality of the lead tenant?")
end
it "has the correct check_answer_label" do
expect(question.check_answer_label).to eq("Lead tenant’s nationality")
end
it "has the correct type" do
expect(question.type).to eq("radio")
end
it "has the correct hint_text" do
expect(question.hint_text).to eq("The lead tenant is the person in the household who does the most paid work. If several people do the same paid work, the lead tenant is whoever is the oldest.")
end
it "has the correct answer_options" do
expect(question.answer_options).to eq({
"18" => { "value" => "United Kingdom" },
"17" => { "value" => "Republic of Ireland" },
"19" => { "value" => "European Economic Area (EEA) country, excluding Ireland" },
"20" => { "value" => "Afghanistan" },
"21" => { "value" => "Ukraine" },
"12" => { "value" => "Other" },
"divider" => true,
"13" => { "value" => "Tenant prefers not to say" },
})
end
it "is not marked as derived" do
expect(question.derived?).to be false
end
end
Loading…
Cancel
Save