Browse Source

feat: add page tests

pull/2278/head
natdeanlewissoftwire 2 years ago
parent
commit
5961938de1
  1. 2
      app/models/form/lettings/pages/address_matcher.rb
  2. 40
      spec/models/form/lettings/pages/address_fallback_spec.rb
  3. 33
      spec/models/form/lettings/pages/address_matcher_spec.rb
  4. 44
      spec/models/form/lettings/pages/address_selection_spec.rb

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

@ -2,7 +2,7 @@ class Form::Lettings::Pages::AddressMatcher < ::Form::Page
def initialize(id, hsh, subsection) def initialize(id, hsh, subsection)
super super
@id = "address_matcher" @id = "address_matcher"
@header = "Find address" @header = "Find an address"
@depends_on = [ @depends_on = [
{ "is_supported_housing?" => false, "uprn_known" => 0 }, { "is_supported_housing?" => false, "uprn_known" => 0 },
{ "is_supported_housing?" => false, "uprn_confirmed" => 0 }, { "is_supported_housing?" => false, "uprn_confirmed" => 0 },

40
spec/models/form/lettings/pages/address_fallback_spec.rb

@ -0,0 +1,40 @@
require "rails_helper"
RSpec.describe Form::Lettings::Pages::AddressFallback, type: :model do
subject(:page) { described_class.new(page_id, page_definition, subsection) }
let(:page_id) { nil }
let(:page_definition) { nil }
let(:subsection) { instance_double(Form::Subsection) }
it "has correct subsection" do
expect(page.subsection).to eq(subsection)
end
it "has correct questions" do
expect(page.questions.map(&:id)).to eq(%w[address_line1 address_line2 town_or_city county postcode_full])
end
it "has the correct id" do
expect(page.id).to eq("address")
end
it "has the correct header" do
expect(page.header).to eq("Q12 - What is the property's address?")
end
it "has the correct description" do
expect(page.description).to be_nil
end
it "has correct depends_on" do
expect(page.depends_on).to eq([
{ "is_supported_housing?" => false, "uprn_known" => nil, "address_selection" => -1 },
{ "is_supported_housing?" => false, "uprn_known" => 0, "address_selection" => -1 },
{ "is_supported_housing?" => false, "uprn_confirmed" => 0, "address_selection" => -1 },
{ "is_supported_housing?" => false, "uprn_known" => nil, "address_options_present?" => false },
{ "is_supported_housing?" => false, "uprn_known" => 0, "address_options_present?" => false },
{ "is_supported_housing?" => false, "uprn_confirmed" => 0, "address_options_present?" => false },
])
end
end

33
spec/models/form/lettings/pages/address_matcher_spec.rb

@ -0,0 +1,33 @@
require "rails_helper"
RSpec.describe Form::Lettings::Pages::AddressMatcher, type: :model do
subject(:page) { described_class.new(page_id, page_definition, subsection) }
let(:page_id) { nil }
let(:page_definition) { nil }
let(:subsection) { instance_double(Form::Subsection) }
it "has correct subsection" do
expect(page.subsection).to eq(subsection)
end
it "has correct questions" do
expect(page.questions.map(&:id)).to eq(%w[address_line1_input postcode_full_input])
end
it "has the correct id" do
expect(page.id).to eq("address_matcher")
end
it "has the correct header" do
expect(page.header).to eq("Find an address")
end
it "has the correct description" do
expect(page.description).to be_nil
end
it "has correct depends_on" do
expect(page.depends_on).to eq([{ "is_supported_housing?" => false, "uprn_known" => 0 }, { "is_supported_housing?" => false, "uprn_confirmed" => 0 }])
end
end

44
spec/models/form/lettings/pages/address_selection_spec.rb

@ -0,0 +1,44 @@
require "rails_helper"
RSpec.describe Form::Lettings::Pages::AddressSelection, type: :model do
subject(:page) { described_class.new(page_id, page_definition, subsection) }
let(:page_id) { nil }
let(:page_definition) { nil }
let(:subsection) { instance_double(Form::Subsection) }
let(:log) { create(:lettings_log) }
it "has correct subsection" do
expect(page.subsection).to eq(subsection)
end
it "has correct questions" do
expect(page.questions.map(&:id)).to eq(%w[address_selection])
end
it "has the correct id" do
expect(page.id).to eq("address_selection")
end
it "has the correct header" do
expect(page.header).to eq("We found some addresses that might be this property")
end
it "has the correct description" do
expect(page.description).to be_nil
end
it "has the correct skip text" do
"Search for address again"
end
it "has the correct skip_href" do
expect(page.skip_href(log)).to eq(
"/lettings-logs/#{log.id}/address-matcher",
)
end
it "has correct depends_on" do
expect(page.depends_on).to eq([{ "address_options_present?" => true }])
end
end
Loading…
Cancel
Save