5 changed files with 51 additions and 74 deletions
@ -1,32 +1,44 @@
|
||||
module TabNavHelper |
||||
include GovukLinkHelper |
||||
include Helpers |
||||
|
||||
def user_cell(user) |
||||
link_text = user.name.presence || user.email |
||||
[govuk_link_to(link_text, user), "<span class=\"govuk-visually-hidden\">User </span><span class=\"govuk-!-font-weight-regular app-!-colour-muted\">#{user.email}</span>"].join("\n") |
||||
end |
||||
module TabNavHelper |
||||
include GovukLinkHelper |
||||
include Helpers |
||||
using FormatPostcode |
||||
|
||||
|
||||
def location_cell(location, link) |
||||
link_text = location.postcode.formatted_postcode |
||||
[govuk_link_to(link_text, link, method: :patch), "<span class=\"govuk-visually-hidden\">Location </span><span class=\"govuk-!-font-weight-regular app-!-colour-muted\">#{location.name}</span>"].join("\n") |
||||
end |
||||
def user_cell(user) |
||||
link_text = user.name.presence || user.email |
||||
[govuk_link_to(link_text, user), "<span class=\"govuk-visually-hidden\">User </span><span class=\"govuk-!-font-weight-regular app-!-colour-muted\">#{user.email}</span>"].join("\n") |
||||
end |
||||
|
||||
<<<<<<< Updated upstream |
||||
def scheme_cell(scheme) |
||||
link_text = scheme.service_name |
||||
link = scheme.confirmed? ? scheme : scheme_check_answers_path(scheme) |
||||
[govuk_link_to(link_text, link), "<span class=\"govuk-visually-hidden\">Scheme </span><span class=\"govuk-!-font-weight-regular app-!-colour-muted\">#{scheme.primary_client_group}</span>"].join("\n") |
||||
end |
||||
======= |
||||
def location_cell(location, link) |
||||
|
||||
link_text = location.postcode.formatted_postcode |
||||
[govuk_link_to(link_text, link, method: :patch), "<span class=\"govuk-visually-hidden\">Location </span><span class=\"govuk-!-font-weight-regular app-!-colour-muted\">#{location.name}</span>"].join("\n") |
||||
end |
||||
>>>>>>> Stashed changes |
||||
|
||||
def org_cell(user) |
||||
role = "<span class=\"app-!-colour-muted\">#{user.role.to_s.humanize}</span>" |
||||
[user.organisation.name, role].join("\n") |
||||
end |
||||
def scheme_cell(scheme) |
||||
link_text = scheme.service_name |
||||
[govuk_link_to(link_text, scheme), "<span class=\"govuk-visually-hidden\">Scheme </span><span class=\"govuk-!-font-weight-regular app-!-colour-muted\">#{scheme.primary_client_group}</span>"].join("\n") |
||||
end |
||||
|
||||
def tab_items(user) |
||||
[ |
||||
{ name: t("Details"), url: details_organisation_path(user.organisation) }, |
||||
{ name: t("Users"), url: users_organisation_path(user.organisation) }, |
||||
] |
||||
def org_cell(user) |
||||
role = "<span class=\"app-!-colour-muted\">#{user.role.to_s.humanize}</span>" |
||||
[user.organisation.name, role].join("\n") |
||||
end |
||||
|
||||
def tab_items(user) |
||||
[ |
||||
{ name: t("Details"), url: details_organisation_path(user.organisation) }, |
||||
{ name: t("Users"), url: users_organisation_path(user.organisation) }, |
||||
] |
||||
end |
||||
end |
||||
end |
||||
|
||||
|
@ -0,0 +1,17 @@
|
||||
module FormatPostcode |
||||
refine FormatPostcode do |
||||
def formatted_postcode |
||||
postcode = upcase.gsub(/\s+/, "") |
||||
case postcode.length |
||||
when 5 |
||||
postcode.insert(2, " ") |
||||
when 6 |
||||
postcode.insert(3, " ") |
||||
when 7 |
||||
postcode.insert(4, " ") |
||||
else |
||||
self |
||||
end |
||||
end |
||||
end |
||||
|
@ -1,15 +0,0 @@
|
||||
class String |
||||
def formatted_postcode |
||||
postcode = upcase.gsub(/\s+/, "") |
||||
case postcode.length |
||||
when 5 |
||||
postcode.insert(2, " ") |
||||
when 6 |
||||
postcode.insert(3, " ") |
||||
when 7 |
||||
postcode.insert(4, " ") |
||||
else |
||||
self |
||||
end |
||||
end |
||||
end |
@ -1,38 +0,0 @@
|
||||
require "rails_helper" |
||||
require_relative "helpers" |
||||
|
||||
RSpec.describe "Postcode formatting" do |
||||
include Helpers |
||||
let(:user) { FactoryBot.create(:user) } |
||||
let(:case_log) do |
||||
FactoryBot.create( |
||||
:case_log, |
||||
:in_progress, |
||||
owning_organisation: user.organisation, |
||||
managing_organisation: user.organisation, |
||||
) |
||||
end |
||||
let(:id) { case_log.id } |
||||
|
||||
before do |
||||
sign_in user |
||||
end |
||||
|
||||
context "when a postcode is input" do |
||||
it "for a 6 character postcode a space will be after the third character" do |
||||
visit("/logs/#{id}/property-postcode") |
||||
fill_in("case-log-postcode-full-field", with: "aa11aa") |
||||
click_button("Save and continue") |
||||
visit("/logs/#{id}/property-information/check-answers") |
||||
expect(page).to have_text("AA1 1AA") |
||||
end |
||||
|
||||
it "for a 5 character postcode a space will be after the second character" do |
||||
visit("/logs/#{id}/property-postcode") |
||||
fill_in("case-log-postcode-full-field", with: "a99aa") |
||||
click_button("Save and continue") |
||||
visit("/logs/#{id}/property-information/check-answers") |
||||
expect(page).to have_text("A9 9AA") |
||||
end |
||||
end |
||||
end |
Loading…
Reference in new issue