5 changed files with 51 additions and 74 deletions
@ -1,32 +1,44 @@ |
|||||||
module TabNavHelper |
|
||||||
include GovukLinkHelper |
|
||||||
include Helpers |
|
||||||
|
|
||||||
def user_cell(user) |
module TabNavHelper |
||||||
link_text = user.name.presence || user.email |
include GovukLinkHelper |
||||||
[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") |
include Helpers |
||||||
end |
using FormatPostcode |
||||||
|
|
||||||
|
|
||||||
def location_cell(location, link) |
def user_cell(user) |
||||||
link_text = location.postcode.formatted_postcode |
link_text = user.name.presence || user.email |
||||||
[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") |
[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 |
end |
||||||
|
|
||||||
|
<<<<<<< Updated upstream |
||||||
def scheme_cell(scheme) |
def scheme_cell(scheme) |
||||||
link_text = scheme.service_name |
link_text = scheme.service_name |
||||||
link = scheme.confirmed? ? scheme : scheme_check_answers_path(scheme) |
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") |
[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 |
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) |
def scheme_cell(scheme) |
||||||
role = "<span class=\"app-!-colour-muted\">#{user.role.to_s.humanize}</span>" |
link_text = scheme.service_name |
||||||
[user.organisation.name, role].join("\n") |
[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 |
end |
||||||
|
|
||||||
def tab_items(user) |
def org_cell(user) |
||||||
[ |
role = "<span class=\"app-!-colour-muted\">#{user.role.to_s.humanize}</span>" |
||||||
{ name: t("Details"), url: details_organisation_path(user.organisation) }, |
[user.organisation.name, role].join("\n") |
||||||
{ name: t("Users"), url: users_organisation_path(user.organisation) }, |
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 |
||||||
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