Browse Source

Fixes from PR review

pull/279/head
Kat 3 years ago
parent
commit
e6d6a89d70
  1. 2
      app/controllers/form_controller.rb
  2. 5
      app/models/form.rb
  3. 2
      app/views/form/page.html.erb
  4. 121
      spec/factories/case_log.rb
  5. 4
      spec/features/form/validations_spec.rb

2
app/controllers/form_controller.rb

@ -8,7 +8,7 @@ class FormController < ApplicationController
@page = @case_log.form.get_page(params[:case_log][:page])
responses_for_page = responses_for_page(@page)
if @case_log.update(responses_for_page) && @case_log.has_no_unresolved_soft_errors?
if @page.id == "declaration"
if @case_log.form.is_last_question?(@page, @case_log.form.subsection_for_page(@page), @case_log)
redirect_to(case_logs_path)
else
redirect_path = @case_log.form.next_page_redirect_path(@page, @case_log)

5
app/models/form.rb

@ -122,4 +122,9 @@ class Form
def readonly_questions
questions.select(&:read_only?)
end
def is_last_question?(page, subsection, case_log)
subsection_ids = subsections.map(&:id)
subsection.id == subsection_ids[subsection_ids.length - 1] && next_page(page, case_log) == :check_answers
end
end

2
app/views/form/page.html.erb

@ -47,7 +47,7 @@
<% end %>
<%= f.hidden_field :page, value: @page.id %>
<% if @page.id == "declaration" %>
<% if @case_log.form.is_last_question?(@page, @subsection, @case_log) %>
<%= f.govuk_submit "Submit lettings log" %>
<%else %>
<%= f.govuk_submit "Save and continue" %>

121
spec/factories/case_log.rb

@ -154,127 +154,6 @@ FactoryBot.define do
la_known { "Yes" }
declaration { "Yes" }
end
trait :completed_without_declaration do
status { 1 }
tenant_code { "BZ737" }
postcode { "NW1 7TY" }
age1 { 35 }
sex1 { "Female" }
ethnic { 2 }
national { 4 }
prevten { "Private sector tenancy" }
ecstat1 { 2 }
other_hhmemb { 1 }
hhmemb { 2 }
relat2 { "Partner" }
age2 { 32 }
sex2 { "Male" }
ecstat2 { "Not seeking work" }
homeless { "Yes - other homelessness" }
underoccupation_benefitcap { "No" }
leftreg { "No - they left up to 5 years ago" }
reservist { "No" }
illness { "Yes" }
preg_occ { "Yes" }
accessibility_requirements { "No" }
condition_effects { "dummy" }
tenancy_code { "BZ757" }
startertenancy { "No" }
tenancylength { 5 }
tenancy { "Secure (including flexible)" }
lettype { "Affordable Rent General needs LA" }
landlord { "This landlord" }
previous_postcode { "SE2 6RT" }
rsnvac { "Tenant abandoned property" }
unittype_gn { "House" }
beds { 3 }
property_void_date { "03/11/2019" }
offered { 2 }
wchair { "Yes" }
earnings { 68 }
benefits { "Some" }
period { "Every 2 weeks" }
brent { 200 }
scharge { 50 }
pscharge { 40 }
supcharg { 35 }
tcharge { 325 }
layear { "1 to 2 years" }
lawaitlist { "Less than 1 year" }
property_postcode { "NW1 5TY" }
reasonpref { "Yes" }
reasonable_preference_reason { "dummy" }
cbl { "Yes" }
chr { "Yes" }
cap { "No" }
other_reason_for_leaving_last_settled_home { nil }
housingneeds_a { "Yes" }
housingneeds_b { "No" }
housingneeds_c { "No" }
housingneeds_f { "No" }
housingneeds_g { "No" }
housingneeds_h { "No" }
accessibility_requirements_prefer_not_to_say { 0 }
illness_type_1 { "No" }
illness_type_2 { "Yes" }
illness_type_3 { "No" }
illness_type_4 { "No" }
illness_type_8 { "No" }
illness_type_5 { "No" }
illness_type_6 { "No" }
illness_type_7 { "No" }
illness_type_9 { "No" }
illness_type_10 { "No" }
rp_homeless { "Yes" }
rp_insan_unsat { "No" }
rp_medwel { "No" }
rp_hardship { "No" }
rp_dontknow { "No" }
discarded_at { nil }
tenancyother { nil }
override_net_income_validation { nil }
net_income_known { "Weekly" }
gdpr_acceptance { "Yes" }
gdpr_declined { "No" }
property_owner_organisation { "Test" }
property_manager_organisation { "Test" }
renewal { 1 }
rent_type { 1 }
intermediate_rent_product_name { 2 }
needstype { 1 }
purchaser_code { 798_794 }
reason { "Permanently decanted from another property owned by this landlord" }
propcode { "123" }
majorrepairs { "Yes" }
la { "Barnet" }
prevloc { "Ashford" }
hb { 1 }
hbrentshortfall { "Yes" }
tshortfall { 12 }
postcod2 { "w3" }
ppostc1 { "w3" }
ppostc2 { "w3" }
property_relet { "No" }
mrcdate { Time.zone.now }
mrcday { 5 }
mrcmonth { 5 }
mrcyear { 2020 }
incref { 0 }
sale_completion_date { nil }
startdate { Time.zone.now }
day { Time.zone.now.day }
month { Time.zone.now.month }
year { 2021 }
armedforces { 1 }
builtype { 1 }
unitletas { 2 }
household_charge { "Yes" }
has_benefits { "Yes" }
is_carehome { "No" }
chcharge { 7 }
letting_in_sheltered_accomodation { "No" }
la_known { "Yes" }
end
created_at { Time.zone.now }
updated_at { Time.zone.now }
end

4
spec/features/form/validations_spec.rb

@ -28,9 +28,11 @@ RSpec.describe "validations" do
let(:completed_without_declaration) do
FactoryBot.create(
:case_log,
:completed_without_declaration,
:completed,
owning_organisation: user.organisation,
managing_organisation: user.organisation,
status: 1,
declaration: nil,
)
end
let(:id) { case_log.id }

Loading…
Cancel
Save