From ebb045eaf69f01e553de02047e920eb0f42e0e09 Mon Sep 17 00:00:00 2001 From: JG Date: Mon, 18 Jul 2022 11:19:32 +0100 Subject: [PATCH] fixed tests --- app/controllers/schemes_controller.rb | 12 +++++++----- app/views/schemes/check_answers.html.erb | 12 ++++++------ app/views/schemes/details.html.erb | 8 ++++---- app/views/schemes/new.html.erb | 8 ++++---- spec/requests/schemes_controller_spec.rb | 10 +++++----- 5 files changed, 26 insertions(+), 24 deletions(-) diff --git a/app/controllers/schemes_controller.rb b/app/controllers/schemes_controller.rb index 465e60b44..9ed8c4e63 100644 --- a/app/controllers/schemes_controller.rb +++ b/app/controllers/schemes_controller.rb @@ -96,7 +96,7 @@ class SchemesController < ApplicationController render "schemes/support_services_provider" end - private +private def validation_errors(scheme_params) scheme_params.each_key do |key| @@ -139,10 +139,12 @@ class SchemesController < ApplicationController when "support" new_location_path when "details" - if @scheme.support_services_provider_before_type_cast.zero? + if @scheme.support_services_provider_before_type_cast&.zero? scheme_primary_client_group_path(@scheme) - else + elsif @scheme.support_services_provider_before_type_cast.positive? scheme_support_services_provider_path(@scheme) + else + scheme_details_path(@scheme) end when "edit-name" scheme_path(@scheme) @@ -165,10 +167,10 @@ class SchemesController < ApplicationController :support_services_provider_before_type_cast, :intended_stay).merge(support_services_provider: params[:scheme][:support_services_provider_before_type_cast]) - full_params = required_params[:support_services_provider] == "0" && required_params[:owning_organisation_id].present? ? required_params.merge(managing_organisation_id: required_params[:owning_organisation_id]) : required_params + full_params = Scheme.support_services_providers.key?(required_params[:support_services_provider]) && required_params[:owning_organisation_id].present? ? required_params.merge(managing_organisation_id: required_params[:owning_organisation_id]) : required_params full_params[:sensitive] = full_params[:sensitive].to_i if full_params[:sensitive] - full_params[:support_services_provider] = full_params[:support_services_provider].to_i if !full_params[:support_services_provider]&.empty? + full_params[:support_services_provider] = full_params[:support_services_provider].to_i unless full_params[:support_services_provider] && full_params[:support_services_provider].empty? if current_user.data_coordinator? full_params[:owning_organisation_id] = current_user.organisation_id diff --git a/app/views/schemes/check_answers.html.erb b/app/views/schemes/check_answers.html.erb index 86aad0b1b..ef3bd16ed 100644 --- a/app/views/schemes/check_answers.html.erb +++ b/app/views/schemes/check_answers.html.erb @@ -14,7 +14,7 @@ <% row.action( text: "Change", href: scheme_details_path(scheme_id: @scheme.id, check_answers: true), - ) %> + ) %> <% end %> <% end %> <% @scheme.check_support_services_provider_attributes.each do |attr| %> @@ -24,7 +24,7 @@ <% row.action( text: "Change", href: scheme_support_services_provider_path(scheme_id: @scheme.id, check_answers: true), - ) %> + ) %> <% end %> <% end %> <% @scheme.check_primary_client_attributes.each do |attr| %> @@ -34,7 +34,7 @@ <% row.action( text: "Change", href: scheme_primary_client_group_path(scheme_id: @scheme.id, check_answers: true), - ) %> + ) %> <% end %> <% end %> <% @scheme.check_secondary_client_confirmation_attributes.each do |attr| %> @@ -44,7 +44,7 @@ <% row.action( text: "Change", href: scheme_confirm_secondary_client_group_path(scheme_id: @scheme.id, check_answers: true), - ) %> + ) %> <% end %> <% end %> <% if @scheme.has_other_client_group == "Yes" %> @@ -55,7 +55,7 @@ <% row.action( text: "Change", href: scheme_secondary_client_group_path(scheme_id: @scheme.id, check_answers: true), - ) %> + ) %> <% end %> <% end %> <% end %> @@ -66,7 +66,7 @@ <% row.action( text: "Change", href: scheme_support_path(scheme_id: @scheme.id, check_answers: true), - ) %> + ) %> <% end %> <% end %> <% end %> diff --git a/app/views/schemes/details.html.erb b/app/views/schemes/details.html.erb index 52d8a255f..dd05c4a00 100644 --- a/app/views/schemes/details.html.erb +++ b/app/views/schemes/details.html.erb @@ -4,7 +4,7 @@ <%= govuk_back_link( text: "Back", href: :back, - ) %> + ) %> <% end %> <%= render partial: "organisations/headings", locals: { main: "Create a new supported housing scheme", sub: nil } %> @@ -64,18 +64,18 @@ <% end %> <% support_services_provider_selection = Scheme.support_services_providers.map do |key, value| %> - <% OpenStruct.new(id: value, name: key.to_s.humanize) %> + <% OpenStruct.new(id: value, name: key.to_s.humanize) %> <% end %> <%= f.govuk_collection_radio_buttons :support_services_provider_before_type_cast, support_services_provider_selection, :id, - ->(option) do + lambda { |option| if option.id.zero? && !current_user.support? "Your organisation" else option.name end - end, + }, legend: { text: "Who provides the support services used by this scheme?", size: "m" } %> <%= f.hidden_field :page, value: "details" %> diff --git a/app/views/schemes/new.html.erb b/app/views/schemes/new.html.erb index 10bee999a..9a2a3c6d4 100644 --- a/app/views/schemes/new.html.erb +++ b/app/views/schemes/new.html.erb @@ -4,7 +4,7 @@ <%= govuk_back_link( text: "Back", href: "javascript:history.go(-1);", - ) %> + ) %> <% end %> <%= form_for(@scheme, as: :scheme, method: :post) do |f| %> @@ -66,19 +66,19 @@ <% end %> <% support_services_provider_selection = Scheme.support_services_providers.map do |key, value| %> - <% OpenStruct.new(id: value, name: key.to_s.humanize) %> + <% OpenStruct.new(id: value, name: key.to_s.humanize) %> <% end %> <%= f.govuk_collection_radio_buttons :support_services_provider_before_type_cast, support_services_provider_selection, :id, - ->(option) do + lambda { |option| if option.id.zero? && !current_user.support? "Your organisation" else option.name end - end, + }, legend: { text: "Who provides the support services used by this scheme?", size: "m" } %> <%= f.govuk_submit "Save and continue" %> diff --git a/spec/requests/schemes_controller_spec.rb b/spec/requests/schemes_controller_spec.rb index a2ec127e9..76a74f11f 100644 --- a/spec/requests/schemes_controller_spec.rb +++ b/spec/requests/schemes_controller_spec.rb @@ -576,7 +576,7 @@ RSpec.describe SchemesController, type: :request do registered_under_care_act: "", support_type: "", intended_stay: "", - support_services_provider: "", + support_services_provider_before_type_cast: "", has_other_client_group: "", page: "details", } } @@ -593,7 +593,7 @@ RSpec.describe SchemesController, type: :request do expect(page).to have_content(I18n.t("activerecord.errors.models.scheme.attributes.support_type.invalid")) expect(page).to have_content(I18n.t("activerecord.errors.models.scheme.attributes.intended_stay.invalid")) expect(page).to have_content(I18n.t("activerecord.errors.models.scheme.attributes.has_other_client_group.invalid")) - expect(page).to have_content(I18n.t("activerecord.errors.models.scheme.attributes.support_services_provider.invalid")) + expect(page).to have_content(I18n.t("activerecord.errors.models.scheme.attributes.support_services_provider_before_type_cast.invalid")) end context "when updating from check answers page" do @@ -862,7 +862,7 @@ RSpec.describe SchemesController, type: :request do registered_under_care_act: "", support_type: "", intended_stay: "", - support_services_provider: "", + support_services_provider_before_type_cast: "", has_other_client_group: "", page: "details", } } @@ -880,7 +880,7 @@ RSpec.describe SchemesController, type: :request do expect(page).to have_content(I18n.t("activerecord.errors.models.scheme.attributes.support_type.invalid")) expect(page).to have_content(I18n.t("activerecord.errors.models.scheme.attributes.intended_stay.invalid")) expect(page).to have_content(I18n.t("activerecord.errors.models.scheme.attributes.has_other_client_group.invalid")) - expect(page).to have_content(I18n.t("activerecord.errors.models.scheme.attributes.support_services_provider.invalid")) + expect(page).to have_content(I18n.t("activerecord.errors.models.scheme.attributes.support_services_provider_before_type_cast.invalid")) end context "when updating from check answers page" do @@ -1044,7 +1044,7 @@ RSpec.describe SchemesController, type: :request do scheme_type: "Foyer", registered_under_care_act: "No", page: "details", - support_services_provider: "The same organisation that owns the housing stock", + support_services_provider_before_type_cast: "The same organisation that owns the housing stock", owning_organisation_id: another_organisation.id } } end