Browse Source

fixed tests

pull/730/head
JG 3 years ago
parent
commit
ebb045eaf6
  1. 12
      app/controllers/schemes_controller.rb
  2. 12
      app/views/schemes/check_answers.html.erb
  3. 8
      app/views/schemes/details.html.erb
  4. 8
      app/views/schemes/new.html.erb
  5. 10
      spec/requests/schemes_controller_spec.rb

12
app/controllers/schemes_controller.rb

@ -96,7 +96,7 @@ class SchemesController < ApplicationController
render "schemes/support_services_provider" render "schemes/support_services_provider"
end end
private private
def validation_errors(scheme_params) def validation_errors(scheme_params)
scheme_params.each_key do |key| scheme_params.each_key do |key|
@ -139,10 +139,12 @@ class SchemesController < ApplicationController
when "support" when "support"
new_location_path new_location_path
when "details" 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) scheme_primary_client_group_path(@scheme)
else elsif @scheme.support_services_provider_before_type_cast.positive?
scheme_support_services_provider_path(@scheme) scheme_support_services_provider_path(@scheme)
else
scheme_details_path(@scheme)
end end
when "edit-name" when "edit-name"
scheme_path(@scheme) scheme_path(@scheme)
@ -165,10 +167,10 @@ class SchemesController < ApplicationController
:support_services_provider_before_type_cast, :support_services_provider_before_type_cast,
:intended_stay).merge(support_services_provider: params[:scheme][: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[: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? if current_user.data_coordinator?
full_params[:owning_organisation_id] = current_user.organisation_id full_params[:owning_organisation_id] = current_user.organisation_id

12
app/views/schemes/check_answers.html.erb

@ -14,7 +14,7 @@
<% row.action( <% row.action(
text: "Change", text: "Change",
href: scheme_details_path(scheme_id: @scheme.id, check_answers: true), href: scheme_details_path(scheme_id: @scheme.id, check_answers: true),
) %> ) %>
<% end %> <% end %>
<% end %> <% end %>
<% @scheme.check_support_services_provider_attributes.each do |attr| %> <% @scheme.check_support_services_provider_attributes.each do |attr| %>
@ -24,7 +24,7 @@
<% row.action( <% row.action(
text: "Change", text: "Change",
href: scheme_support_services_provider_path(scheme_id: @scheme.id, check_answers: true), href: scheme_support_services_provider_path(scheme_id: @scheme.id, check_answers: true),
) %> ) %>
<% end %> <% end %>
<% end %> <% end %>
<% @scheme.check_primary_client_attributes.each do |attr| %> <% @scheme.check_primary_client_attributes.each do |attr| %>
@ -34,7 +34,7 @@
<% row.action( <% row.action(
text: "Change", text: "Change",
href: scheme_primary_client_group_path(scheme_id: @scheme.id, check_answers: true), href: scheme_primary_client_group_path(scheme_id: @scheme.id, check_answers: true),
) %> ) %>
<% end %> <% end %>
<% end %> <% end %>
<% @scheme.check_secondary_client_confirmation_attributes.each do |attr| %> <% @scheme.check_secondary_client_confirmation_attributes.each do |attr| %>
@ -44,7 +44,7 @@
<% row.action( <% row.action(
text: "Change", text: "Change",
href: scheme_confirm_secondary_client_group_path(scheme_id: @scheme.id, check_answers: true), href: scheme_confirm_secondary_client_group_path(scheme_id: @scheme.id, check_answers: true),
) %> ) %>
<% end %> <% end %>
<% end %> <% end %>
<% if @scheme.has_other_client_group == "Yes" %> <% if @scheme.has_other_client_group == "Yes" %>
@ -55,7 +55,7 @@
<% row.action( <% row.action(
text: "Change", text: "Change",
href: scheme_secondary_client_group_path(scheme_id: @scheme.id, check_answers: true), href: scheme_secondary_client_group_path(scheme_id: @scheme.id, check_answers: true),
) %> ) %>
<% end %> <% end %>
<% end %> <% end %>
<% end %> <% end %>
@ -66,7 +66,7 @@
<% row.action( <% row.action(
text: "Change", text: "Change",
href: scheme_support_path(scheme_id: @scheme.id, check_answers: true), href: scheme_support_path(scheme_id: @scheme.id, check_answers: true),
) %> ) %>
<% end %> <% end %>
<% end %> <% end %>
<% end %> <% end %>

8
app/views/schemes/details.html.erb

@ -4,7 +4,7 @@
<%= govuk_back_link( <%= govuk_back_link(
text: "Back", text: "Back",
href: :back, href: :back,
) %> ) %>
<% end %> <% end %>
<%= render partial: "organisations/headings", locals: { main: "Create a new supported housing scheme", sub: nil } %> <%= render partial: "organisations/headings", locals: { main: "Create a new supported housing scheme", sub: nil } %>
@ -64,18 +64,18 @@
<% end %> <% end %>
<% support_services_provider_selection = Scheme.support_services_providers.map do |key, value| %> <% 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 %> <% end %>
<%= f.govuk_collection_radio_buttons :support_services_provider_before_type_cast, <%= f.govuk_collection_radio_buttons :support_services_provider_before_type_cast,
support_services_provider_selection, support_services_provider_selection,
:id, :id,
->(option) do lambda { |option|
if option.id.zero? && !current_user.support? if option.id.zero? && !current_user.support?
"Your organisation" "Your organisation"
else else
option.name option.name
end end
end, },
legend: { text: "Who provides the support services used by this scheme?", size: "m" } %> legend: { text: "Who provides the support services used by this scheme?", size: "m" } %>
<%= f.hidden_field :page, value: "details" %> <%= f.hidden_field :page, value: "details" %>

8
app/views/schemes/new.html.erb

@ -4,7 +4,7 @@
<%= govuk_back_link( <%= govuk_back_link(
text: "Back", text: "Back",
href: "javascript:history.go(-1);", href: "javascript:history.go(-1);",
) %> ) %>
<% end %> <% end %>
<%= form_for(@scheme, as: :scheme, method: :post) do |f| %> <%= form_for(@scheme, as: :scheme, method: :post) do |f| %>
@ -66,19 +66,19 @@
<% end %> <% end %>
<% support_services_provider_selection = Scheme.support_services_providers.map do |key, value| %> <% 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 %> <% end %>
<%= f.govuk_collection_radio_buttons :support_services_provider_before_type_cast, <%= f.govuk_collection_radio_buttons :support_services_provider_before_type_cast,
support_services_provider_selection, support_services_provider_selection,
:id, :id,
->(option) do lambda { |option|
if option.id.zero? && !current_user.support? if option.id.zero? && !current_user.support?
"Your organisation" "Your organisation"
else else
option.name option.name
end end
end, },
legend: { text: "Who provides the support services used by this scheme?", size: "m" } %> legend: { text: "Who provides the support services used by this scheme?", size: "m" } %>
<%= f.govuk_submit "Save and continue" %> <%= f.govuk_submit "Save and continue" %>

10
spec/requests/schemes_controller_spec.rb

@ -576,7 +576,7 @@ RSpec.describe SchemesController, type: :request do
registered_under_care_act: "", registered_under_care_act: "",
support_type: "", support_type: "",
intended_stay: "", intended_stay: "",
support_services_provider: "", support_services_provider_before_type_cast: "",
has_other_client_group: "", has_other_client_group: "",
page: "details", 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.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.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.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 end
context "when updating from check answers page" do context "when updating from check answers page" do
@ -862,7 +862,7 @@ RSpec.describe SchemesController, type: :request do
registered_under_care_act: "", registered_under_care_act: "",
support_type: "", support_type: "",
intended_stay: "", intended_stay: "",
support_services_provider: "", support_services_provider_before_type_cast: "",
has_other_client_group: "", has_other_client_group: "",
page: "details", 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.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.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.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 end
context "when updating from check answers page" do context "when updating from check answers page" do
@ -1044,7 +1044,7 @@ RSpec.describe SchemesController, type: :request do
scheme_type: "Foyer", scheme_type: "Foyer",
registered_under_care_act: "No", registered_under_care_act: "No",
page: "details", 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 } } owning_organisation_id: another_organisation.id } }
end end

Loading…
Cancel
Save