Browse Source

Add tests for setup section

Co-authored-by: baarkerlounger  <baarkerlounger@users.noreply.github.com>
pull/672/head
Kat 3 years ago
parent
commit
6e283fa1e9
  1. 37
      spec/models/form/setup/pages/needs_type_spec.rb
  2. 37
      spec/models/form/setup/pages/property_reference_spec.rb
  3. 37
      spec/models/form/setup/pages/renewal_spec.rb
  4. 37
      spec/models/form/setup/pages/rent_type_spec.rb
  5. 37
      spec/models/form/setup/pages/tenancy_start_date_spec.rb
  6. 37
      spec/models/form/setup/pages/tenant_code_spec.rb
  7. 29
      spec/models/form/setup/questions/irproduct_other_spec.rb
  8. 36
      spec/models/form/setup/questions/needs_type_spec.rb
  9. 37
      spec/models/form/setup/questions/property_reference_spec.rb
  10. 40
      spec/models/form/setup/questions/renewal_spec.rb
  11. 48
      spec/models/form/setup/questions/rent_type_spec.rb
  12. 29
      spec/models/form/setup/questions/tenancy_start_date_spec.rb
  13. 37
      spec/models/form/setup/questions/tenant_code_spec.rb
  14. 29
      spec/models/form/setup/sections/setup_spec.rb
  15. 25
      spec/models/form/setup/subsections/setup.spec.rb

37
spec/models/form/setup/pages/needs_type_spec.rb

@ -0,0 +1,37 @@
require "rails_helper"
RSpec.describe Form::Setup::Pages::NeedsType, 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[needstype])
end
it "has the correct id" do
expect(page.id).to eq("needs_type")
end
it "has the correct header" do
expect(page.header).to eq("")
end
it "has the correct description" do
expect(page.description).to eq("")
end
it "has the correct depends_on" do
expect(page.depends_on).to eq([{ "supported_housing_schemes_enabled?" => true }])
end
it "has the correct derived" do
expect(page.derived).to be true
end
end

37
spec/models/form/setup/pages/property_reference_spec.rb

@ -0,0 +1,37 @@
require "rails_helper"
RSpec.describe Form::Setup::Pages::PropertyReference, 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[propcode])
end
it "has the correct id" do
expect(page.id).to eq("property_reference")
end
it "has the correct header" do
expect(page.header).to eq("")
end
it "has the correct description" do
expect(page.description).to eq("")
end
it "has the correct depends_on" do
expect(page.depends_on).to be nil
end
it "has the correct derived" do
expect(page.derived).to be nil
end
end

37
spec/models/form/setup/pages/renewal_spec.rb

@ -0,0 +1,37 @@
require "rails_helper"
RSpec.describe Form::Setup::Pages::Renewal, 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[renewal])
end
it "has the correct id" do
expect(page.id).to eq("renewal")
end
it "has the correct header" do
expect(page.header).to eq("")
end
it "has the correct description" do
expect(page.description).to eq("")
end
it "has the correct depends_on" do
expect(page.depends_on).to be nil
end
it "has the correct derived" do
expect(page.derived).to be nil
end
end

37
spec/models/form/setup/pages/rent_type_spec.rb

@ -0,0 +1,37 @@
require "rails_helper"
RSpec.describe Form::Setup::Pages::RentType, 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[rent_type irproduct_other])
end
it "has the correct id" do
expect(page.id).to eq("rent_type")
end
it "has the correct header" do
expect(page.header).to eq("")
end
it "has the correct description" do
expect(page.description).to eq("")
end
it "has the correct depends_on" do
expect(page.depends_on).to eq([{ "supported_housing_schemes_enabled?" => true }])
end
it "has the correct derived" do
expect(page.derived).to be true
end
end

37
spec/models/form/setup/pages/tenancy_start_date_spec.rb

@ -0,0 +1,37 @@
require "rails_helper"
RSpec.describe Form::Setup::Pages::TenancyStartDate, 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[startdate])
end
it "has the correct id" do
expect(page.id).to eq("tenancy_start_date")
end
it "has the correct header" do
expect(page.header).to be nil
end
it "has the correct description" do
expect(page.description).to eq("")
end
it "has the correct depends_on" do
expect(page.depends_on).to be nil
end
it "has the correct derived" do
expect(page.derived).to be nil
end
end

37
spec/models/form/setup/pages/tenant_code_spec.rb

@ -0,0 +1,37 @@
require "rails_helper"
RSpec.describe Form::Setup::Pages::TenantCode, 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[tenant_code])
end
it "has the correct id" do
expect(page.id).to eq("tenant_code")
end
it "has the correct header" do
expect(page.header).to eq("")
end
it "has the correct description" do
expect(page.description).to eq("")
end
it "has the correct depends_on" do
expect(page.depends_on).to be nil
end
it "has the correct derived" do
expect(page.derived).to be nil
end
end

29
spec/models/form/setup/questions/irproduct_other_spec.rb

@ -0,0 +1,29 @@
require "rails_helper"
RSpec.describe Form::Setup::Questions::IrproductOther, 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) }
it "has correct page" do
expect(question.page).to eq(page)
end
it "has the correct id" do
expect(question.id).to eq("irproduct_other")
end
it "has the correct header" do
expect(question.header).to eq("Name of rent product")
end
it "has the correct check_answer_label" do
expect(question.check_answer_label).to eq("Product name")
end
it "has the correct type" do
expect(question.type).to eq("text")
end
end

36
spec/models/form/setup/questions/needs_type_spec.rb

@ -0,0 +1,36 @@
require "rails_helper"
RSpec.describe Form::Setup::Questions::NeedsType, 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) }
it "has correct page" do
expect(question.page).to eq(page)
end
it "has the correct id" do
expect(question.id).to eq("needstype")
end
it "has the correct header" do
expect(question.header).to eq("What is the needs type?")
end
it "has the correct check_answer_label" do
expect(question.check_answer_label).to eq("Needs type")
end
it "has the correct type" do
expect(question.type).to eq("radio")
end
it "has the correct answer_options" do
expect(question.answer_options).to eq({
"1" => { "value" => "General needs" },
"2" => { "value" => "Supported housing" },
})
end
end

37
spec/models/form/setup/questions/property_reference_spec.rb

@ -0,0 +1,37 @@
require "rails_helper"
RSpec.describe Form::Setup::Questions::PropertyReference, 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) }
it "has correct page" do
expect(question.page).to eq(page)
end
it "has the correct id" do
expect(question.id).to eq("propcode")
end
it "has the correct header" do
expect(question.header).to eq("What is the property reference?")
end
it "has the correct check_answer_label" do
expect(question.check_answer_label).to eq("Property reference")
end
it "has the correct type" do
expect(question.type).to eq("text")
end
it "has the correct hint_text" do
expect(question.hint_text).to eq("This is how you usually refer to this property on your own systems.")
end
it "has the correct width" do
expect(question.width).to eq(10)
end
end

40
spec/models/form/setup/questions/renewal_spec.rb

@ -0,0 +1,40 @@
require "rails_helper"
RSpec.describe Form::Setup::Questions::Renewal, 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) }
it "has correct page" do
expect(question.page).to eq(page)
end
it "has the correct id" do
expect(question.id).to eq("renewal")
end
it "has the correct header" do
expect(question.header).to eq("Is this letting a renewal?")
end
it "has the correct check_answer_label" do
expect(question.check_answer_label).to eq("Property renewal")
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("")
end
it "has the correct answer_options" do
expect(question.answer_options).to eq({
"1" => { "value" => "Yes" },
"0" => { "value" => "No" },
})
end
end

48
spec/models/form/setup/questions/rent_type_spec.rb

@ -0,0 +1,48 @@
require "rails_helper"
RSpec.describe Form::Setup::Questions::RentType, 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) }
it "has correct page" do
expect(question.page).to eq(page)
end
it "has the correct id" do
expect(question.id).to eq("rent_type")
end
it "has the correct header" do
expect(question.header).to eq("What is the rent type?")
end
it "has the correct check_answer_label" do
expect(question.check_answer_label).to eq("Rent type")
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("")
end
it "has the correct conditional_for" do
expect(question.conditional_for).to eq({ "irproduct_other" => [5] })
end
it "has the correct answer_options" do
expect(question.answer_options).to eq({
"1" => { "value" => "Affordable Rent" },
"2" => { "value" => "London Affordable Rent" },
"4" => { "value" => "London Living Rent" },
"3" => { "value" => "Rent to Buy" },
"0" => { "value" => "Social Rent" },
"5" => { "value" => "Other intermediate rent product" },
})
end
end

29
spec/models/form/setup/questions/tenancy_start_date_spec.rb

@ -0,0 +1,29 @@
require "rails_helper"
RSpec.describe Form::Setup::Questions::TenancyStartDate, 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) }
it "has correct page" do
expect(question.page).to eq(page)
end
it "has the correct id" do
expect(question.id).to eq("startdate")
end
it "has the correct header" do
expect(question.header).to eq("What is the tenancy start date?")
end
it "has the correct check_answer_label" do
expect(question.check_answer_label).to eq("Tenancy start date")
end
it "has the correct type" do
expect(question.type).to eq("date")
end
end

37
spec/models/form/setup/questions/tenant_code_spec.rb

@ -0,0 +1,37 @@
require "rails_helper"
RSpec.describe Form::Setup::Questions::TenantCode, 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) }
it "has correct page" do
expect(question.page).to eq(page)
end
it "has the correct id" do
expect(question.id).to eq("tenant_code")
end
it "has the correct header" do
expect(question.header).to eq("What is the tenant code?")
end
it "has the correct check_answer_label" do
expect(question.check_answer_label).to eq("Tenant code")
end
it "has the correct type" do
expect(question.type).to eq("text")
end
it "has the correct hint_text" do
expect(question.hint_text).to eq("This is how you usually refer to this tenancy on your own systems.")
end
it "has the correct width" do
expect(question.width).to eq(10)
end
end

29
spec/models/form/setup/sections/setup_spec.rb

@ -0,0 +1,29 @@
require "rails_helper"
RSpec.describe Form::Setup::Sections::Setup, type: :model do
subject(:setup) { described_class.new(section_id, section_definition, form) }
let(:section_id) { nil }
let(:section_definition) { nil }
let(:form) { instance_double(Form) }
it "has correct form" do
expect(setup.form).to eq(form)
end
it "has correct subsections" do
expect(setup.subsections.map(&:id)).to eq(%w[setup])
end
it "has the correct id" do
expect(setup.id).to eq("setup")
end
it "has the correct label" do
expect(setup.label).to eq("Before you start")
end
it "has the correct description" do
expect(setup.description).to eq("")
end
end

25
spec/models/form/setup/subsections/setup.spec.rb

@ -0,0 +1,25 @@
require "rails_helper"
RSpec.describe Form::Setup::Subsections::Setup, type: :model do
subject(:setup) { described_class.new(subsection_id, subsection_definition, section) }
let(:subsection_id) { nil }
let(:subsection_definition) { nil }
let(:section) { instance_double(Form::Setup::Sections::Setup) }
it "has correct section" do
expect(setup.section).to eq(section)
end
it "has correct pages" do
expect(setup.pages.map(&:id)).to eq(%w[needs_type renewal tenancy_start_date rent_type tenant_code property_reference])
end
it "has the correct id" do
expect(setup.id).to eq("setup")
end
it "has the correct label" do
expect(setup.label).to eq("Set up this lettings log")
end
end
Loading…
Cancel
Save