Browse Source

refactor: from tech review

CLDC-1741-scheme-attributes-bug-fix
natdeanlewissoftwire 2 years ago
parent
commit
6c286709f8
  1. 24
      app/helpers/schemes_helper.rb
  2. 8
      spec/features/schemes_spec.rb

24
app/helpers/schemes_helper.rb

@ -1,35 +1,21 @@
module SchemesHelper module SchemesHelper
def display_scheme_attributes(scheme, user) def display_scheme_attributes(scheme, user)
base_attributes = [ [
{ name: "Scheme code", value: scheme.id_to_display }, { name: "Scheme code", value: scheme.id_to_display },
{ name: "Name", value: scheme.service_name, edit: true }, { name: "Name", value: scheme.service_name, edit: true },
{ name: "Confidential information", value: scheme.sensitive, edit: true }, { name: "Confidential information", value: scheme.sensitive, edit: true },
{ name: "Type of scheme", value: scheme.scheme_type }, { name: "Type of scheme", value: scheme.scheme_type },
{ name: "Registered under Care Standards Act 2000", value: scheme.registered_under_care_act }, { name: "Registered under Care Standards Act 2000", value: scheme.registered_under_care_act },
{ name: "Housing stock owned by", value: scheme.owning_organisation.name, edit: true }, user.data_coordinator? ? nil : { name: "Housing stock owned by", value: scheme.owning_organisation.name, edit: true },
{ name: "Support services provided by", value: scheme.arrangement_type }, { name: "Support services provided by", value: scheme.arrangement_type },
{ name: "Primary client group", value: scheme.primary_client_group }, { name: "Primary client group", value: scheme.primary_client_group },
{ name: "Has another client group", value: scheme.has_other_client_group }, { name: "Has another client group", value: scheme.has_other_client_group },
scheme.has_other_client_group == "Yes" ? { name: "Secondary client group", value: scheme.secondary_client_group } : nil,
{ name: "Level of support given", value: scheme.support_type }, { name: "Level of support given", value: scheme.support_type },
{ name: "Intended length of stay", value: scheme.intended_stay }, { name: "Intended length of stay", value: scheme.intended_stay },
{ name: "Availability", value: scheme_availability(scheme) }, { name: "Availability", value: scheme_availability(scheme) },
] FeatureToggle.scheme_toggle_enabled? ? { name: "Status", value: status_tag(scheme.status) } : nil,
].compact
if FeatureToggle.scheme_toggle_enabled?
base_attributes.append({ name: "Status", value: status_tag(scheme.status) })
end
if user.data_coordinator?
base_attributes.delete_if { |item| item[:name] == "Housing stock owned by" }
end
if scheme.has_other_client_group == "Yes"
insertion_index = base_attributes.index { |attribute| attribute[:name] == "Has another client group" } + 1
base_attributes.insert(insertion_index, { name: "Secondary client group", value: scheme.secondary_client_group })
end
base_attributes
end end
def scheme_availability(scheme) def scheme_availability(scheme)

8
spec/features/schemes_spec.rb

@ -170,9 +170,7 @@ RSpec.describe "Schemes scheme Features" do
context "when there is no secondary client group" do context "when there is no secondary client group" do
before do before do
scheme.has_other_client_group = "No" scheme.update!(has_other_client_group: "No", secondary_client_group: nil)
scheme.secondary_client_group = nil
scheme.save!
click_link(scheme.service_name) click_link(scheme.service_name)
end end
@ -733,9 +731,7 @@ RSpec.describe "Schemes scheme Features" do
context "when there is no secondary client group" do context "when there is no secondary client group" do
before do before do
scheme.has_other_client_group = "No" scheme.update!(has_other_client_group: "No", secondary_client_group: nil)
scheme.secondary_client_group = nil
scheme.save!
click_link(scheme.service_name) click_link(scheme.service_name)
end end

Loading…
Cancel
Save