Browse Source

Fix remaining tests

pull/672/head
Kat 3 years ago
parent
commit
58403c67f0
  1. 4
      db/schema.rb
  2. 3
      spec/features/form/check_answers_page_spec.rb
  3. 4
      spec/features/form/form_navigation_spec.rb
  4. 14
      spec/fixtures/forms/2021_2022.json
  5. 2
      spec/fixtures/forms/2022_2023.json
  6. 10
      spec/helpers/tasklist_helper_spec.rb
  7. 4
      spec/models/case_log_spec.rb
  8. 2
      spec/models/form/subsection_spec.rb
  9. 2
      spec/models/form_handler_spec.rb
  10. 1
      spec/models/form_spec.rb
  11. 2
      spec/requests/case_logs_controller_spec.rb
  12. 4
      spec/requests/form_controller_spec.rb

4
db/schema.rb

@ -192,9 +192,9 @@ ActiveRecord::Schema[7.0].define(version: 2022_06_14_124115) do
t.integer "joint" t.integer "joint"
t.bigint "created_by_id" t.bigint "created_by_id"
t.integer "illness_type_0" t.integer "illness_type_0"
t.integer "retirement_value_check"
t.integer "tshortfall_known" t.integer "tshortfall_known"
t.integer "shelteredaccom" t.integer "shelteredaccom"
t.integer "retirement_value_check"
t.integer "pregnancy_value_check" t.integer "pregnancy_value_check"
t.index ["created_by_id"], name: "index_case_logs_on_created_by_id" t.index ["created_by_id"], name: "index_case_logs_on_created_by_id"
t.index ["managing_organisation_id"], name: "index_case_logs_on_managing_organisation_id" t.index ["managing_organisation_id"], name: "index_case_logs_on_managing_organisation_id"
@ -247,7 +247,7 @@ ActiveRecord::Schema[7.0].define(version: 2022_06_14_124115) do
create_table "logs_exports", force: :cascade do |t| create_table "logs_exports", force: :cascade do |t|
t.datetime "created_at", default: -> { "CURRENT_TIMESTAMP" } t.datetime "created_at", default: -> { "CURRENT_TIMESTAMP" }
t.datetime "started_at", null: false t.datetime "started_at", precision: nil, null: false
t.integer "base_number", default: 1, null: false t.integer "base_number", default: 1, null: false
t.integer "increment_number", default: 1, null: false t.integer "increment_number", default: 1, null: false
t.boolean "empty_export", default: false, null: false t.boolean "empty_export", default: false, null: false

3
spec/features/form/check_answers_page_spec.rb

@ -194,6 +194,7 @@ RSpec.describe "Form Check Answers Page" do
:in_progress, :in_progress,
owning_organisation: user.organisation, owning_organisation: user.organisation,
managing_organisation: user.organisation, managing_organisation: user.organisation,
needstype: 1,
tenant_code: nil, tenant_code: nil,
age1: nil, age1: nil,
layear: 2, layear: 2,
@ -226,7 +227,7 @@ RSpec.describe "Form Check Answers Page" do
it "they can click a button to cycle around to the next incomplete section" do it "they can click a button to cycle around to the next incomplete section" do
visit("/logs/#{cycle_sections_case_log.id}/declaration/check-answers") visit("/logs/#{cycle_sections_case_log.id}/declaration/check-answers")
click_link("Save and go to next incomplete section") click_link("Save and go to next incomplete section")
expect(page).to have_current_path("/logs/#{cycle_sections_case_log.id}/tenant-code") expect(page).to have_current_path("/logs/#{cycle_sections_case_log.id}/tenant-code-test")
end end
end end
end end

4
spec/features/form/form_navigation_spec.rb

@ -16,7 +16,7 @@ RSpec.describe "Form Navigation" do
let(:id) { case_log.id } let(:id) { case_log.id }
let(:question_answers) do let(:question_answers) do
{ {
tenant_code: { type: "text", answer: "BZ737", path: "tenant-code" }, tenant_code: { type: "text", answer: "BZ737", path: "tenant-code-test" },
age1: { type: "numeric", answer: 25, path: "person-1-age" }, age1: { type: "numeric", answer: 25, path: "person-1-age" },
sex1: { type: "radio", answer: "Female", path: "person-1-gender" }, sex1: { type: "radio", answer: "Female", path: "person-1-gender" },
ecstat1: { type: "radio", answer: 3, path: "person-1-working-situation" }, ecstat1: { type: "radio", answer: 3, path: "person-1-working-situation" },
@ -61,7 +61,7 @@ RSpec.describe "Form Navigation" do
end end
it "go back to tenant code page from tenant age page", js: true do it "go back to tenant code page from tenant age page", js: true do
visit("/logs/#{id}/tenant-code") visit("/logs/#{id}/tenant-code-test")
click_button("Save and continue") click_button("Save and continue")
visit("/logs/#{id}/person-1-age") visit("/logs/#{id}/person-1-age")
click_link(text: "Back") click_link(text: "Back")

14
spec/fixtures/forms/2021_2022.json vendored

@ -10,7 +10,7 @@
"household_characteristics": { "household_characteristics": {
"label": "Household characteristics", "label": "Household characteristics",
"pages": { "pages": {
"tenant_code": { "tenant_code_test": {
"questions": { "questions": {
"tenant_code": { "tenant_code": {
"check_answer_label": "Tenant code", "check_answer_label": "Tenant code",
@ -27,7 +27,7 @@
{ {
"housingneeds_a": null "housingneeds_a": null
} }
] }, ]},
"person_1_age": { "person_1_age": {
"questions": { "questions": {
"age1": { "age1": {
@ -39,7 +39,15 @@
"step": 1, "step": 1,
"width": 2 "width": 2
} }
} },
"depends_on": [
{
"housingneeds_a": 1
},
{
"housingneeds_a": null
}
]
}, },
"person_1_gender": { "person_1_gender": {
"questions": { "questions": {

2
spec/fixtures/forms/2022_2023.json vendored

@ -9,7 +9,7 @@
"household_characteristics": { "household_characteristics": {
"label": "Household characteristics", "label": "Household characteristics",
"pages": { "pages": {
"tenant_code": { "tenant_code_test": {
"questions": { "questions": {
"tenant_code": { "tenant_code": {
"check_answer_label": "Tenant code", "check_answer_label": "Tenant code",

10
spec/helpers/tasklist_helper_spec.rb

@ -6,12 +6,12 @@ RSpec.describe TasklistHelper do
describe "get next incomplete section" do describe "get next incomplete section" do
it "returns the first subsection name if it is not completed" do it "returns the first subsection name if it is not completed" do
expect(get_next_incomplete_section(case_log).id).to eq("household_characteristics") expect(get_next_incomplete_section(case_log).id).to eq("setup")
end end
it "returns the first subsection name if it is partially completed" do it "returns the first subsection name if it is partially completed" do
case_log["tenant_code"] = 123 case_log["tenant_code"] = 123
expect(get_next_incomplete_section(case_log).id).to eq("household_characteristics") expect(get_next_incomplete_section(case_log).id).to eq("setup")
end end
end end
@ -29,7 +29,7 @@ RSpec.describe TasklistHelper do
end end
it "returns the number of sections in progress" do it "returns the number of sections in progress" do
expect(get_subsections_count(case_log, :in_progress)).to eq(3) expect(get_subsections_count(case_log, :in_progress)).to eq(4)
end end
it "returns 0 for invalid state" do it "returns 0 for invalid state" do
@ -48,9 +48,9 @@ RSpec.describe TasklistHelper do
expect(next_page_or_check_answers(subsection, empty_case_log)).to match(/tenant-code/) expect(next_page_or_check_answers(subsection, empty_case_log)).to match(/tenant-code/)
end end
it "when first question being not routed to returns the second question link" do it "when first question being not routed to returns the next routed question link" do
empty_case_log.housingneeds_a = "No" empty_case_log.housingneeds_a = "No"
expect(next_page_or_check_answers(subsection, empty_case_log)).to match(/person-1-age/) expect(next_page_or_check_answers(subsection, empty_case_log)).to match(/person-1-gender/)
end end
end end

4
spec/models/case_log_spec.rb

@ -1700,10 +1700,10 @@ RSpec.describe CaseLog do
end end
context "when the question type does not have answer options" do context "when the question type does not have answer options" do
let(:case_log) { FactoryBot.create(:case_log, :in_progress, housingneeds_a: 1, tenant_code: "test") } let(:case_log) { FactoryBot.create(:case_log, :in_progress, housingneeds_a: 1, age1: 19) }
it "clears the answer" do it "clears the answer" do
expect { case_log.update!(housingneeds_a: 0) }.to change(case_log, :tenant_code).from("test").to(nil) expect { case_log.update!(housingneeds_a: 0) }.to change(case_log, :age1).from(19).to(nil)
end end
end end

2
spec/models/form/subsection_spec.rb

@ -25,7 +25,7 @@ RSpec.describe Form::Subsection, type: :model do
end end
it "has pages" do it "has pages" do
expected_pages = %w[tenant_code person_1_age person_1_gender person_1_working_situation household_number_of_members person_2_working_situation propcode] expected_pages = %w[tenant_code_test person_1_age person_1_gender person_1_working_situation household_number_of_members person_2_working_situation propcode]
expect(subsection.pages.map(&:id)).to eq(expected_pages) expect(subsection.pages.map(&:id)).to eq(expected_pages)
end end

2
spec/models/form_handler_spec.rb

@ -17,7 +17,7 @@ RSpec.describe FormHandler do
form_handler = described_class.instance form_handler = described_class.instance
form = form_handler.get_form(test_form_name) form = form_handler.get_form(test_form_name)
expect(form).to be_a(Form) expect(form).to be_a(Form)
expect(form.pages.count).to eq(38) expect(form.pages.count).to eq(41)
end end
end end

1
spec/models/form_spec.rb

@ -134,6 +134,7 @@ RSpec.describe Form, type: :model do
case_log.relat2 = "P" case_log.relat2 = "P"
case_log.sex2 = "F" case_log.sex2 = "F"
case_log.ecstat2 = 1 case_log.ecstat2 = 1
case_log.needstype = 1
end end
it "returns the first page of the next incomplete subsection if the subsection is not in progress" do it "returns the first page of the next incomplete subsection if the subsection is not in progress" do

2
spec/requests/case_logs_controller_spec.rb

@ -624,7 +624,7 @@ RSpec.describe CaseLogsController, type: :request do
it "displays a section status for a case log" do it "displays a section status for a case log" do
assert_select ".govuk-tag", text: /Not started/, count: 7 assert_select ".govuk-tag", text: /Not started/, count: 7
assert_select ".govuk-tag", text: /In progress/, count: 1 assert_select ".govuk-tag", text: /In progress/, count: 2
assert_select ".govuk-tag", text: /Completed/, count: 0 assert_select ".govuk-tag", text: /Completed/, count: 0
assert_select ".govuk-tag", text: /Cannot start yet/, count: 1 assert_select ".govuk-tag", text: /Cannot start yet/, count: 1
end end

4
spec/requests/form_controller_spec.rb

@ -80,9 +80,9 @@ RSpec.describe FormController, type: :request do
let(:case_log_year_2) { FactoryBot.create(:case_log, :about_completed, startdate: Time.zone.local(2022, 5, 1), owning_organisation: organisation) } let(:case_log_year_2) { FactoryBot.create(:case_log, :about_completed, startdate: Time.zone.local(2022, 5, 1), owning_organisation: organisation) }
it "displays the correct question details for each case log based on form year" do it "displays the correct question details for each case log based on form year" do
get "/logs/#{case_log_year_1.id}/tenant-code", headers: headers, params: {} get "/logs/#{case_log_year_1.id}/tenant-code-test", headers: headers, params: {}
expect(response.body).to include("What is the tenant code?") expect(response.body).to include("What is the tenant code?")
get "/logs/#{case_log_year_2.id}/tenant-code", headers: headers, params: {} get "/logs/#{case_log_year_2.id}/tenant-code-test", headers: headers, params: {}
expect(response.body).to match("Different question header text for this year - 2023") expect(response.body).to match("Different question header text for this year - 2023")
end end
end end

Loading…
Cancel
Save