Browse Source

Differentiate support and public interfaces

pull/660/head
Paul Robert Lloyd 3 years ago
parent
commit
903775e143
  1. 5
      app/frontend/styles/_header.scss
  2. 16
      app/helpers/application_helper.rb
  3. 4
      app/views/layouts/application.html.erb
  4. 27
      spec/helpers/application_helper_spec.rb

5
app/frontend/styles/_header.scss

@ -21,3 +21,8 @@
}
}
}
.app-header--orange,
.app-header--orange .govuk-header__container {
border-bottom-color: govuk-colour("orange");
}

16
app/helpers/application_helper.rb

@ -9,6 +9,22 @@ module ApplicationHelper
end
end
def govuk_header_classes
if current_user && current_user.support?
"app-header app-header--orange"
else
"app-header"
end
end
def govuk_phase_banner_tag
if current_user && current_user.support?
{ colour: "orange", text: "Support beta" }
else
{ text: "Beta" }
end
end
private
def paginated_title(title, pagy)

4
app/views/layouts/application.html.erb

@ -43,7 +43,7 @@
<%= govuk_skip_link %>
<%= govuk_header(
classes: "app-header",
classes: govuk_header_classes,
service_url: current_user.nil? ? "/" : "/logs",
navigation_classes: "govuk-header__navigation--end",
) do |component|
@ -60,7 +60,7 @@
<%= govuk_phase_banner(
classes: "govuk-width-container",
tag: { text: "Beta" },
tag: govuk_phase_banner_tag,
text: "This is a new service – help us improve it by #{feedback_link}".html_safe,
) %>

27
spec/helpers/application_helper_spec.rb

@ -7,6 +7,33 @@ RSpec.describe ApplicationHelper do
let(:case_log) { FactoryBot.build(:case_log, :in_progress) }
let(:pagy) { nil }
describe "govuk_header_classes" do
context "with external user" do
expect(govuk_header_classes) .to eq("app-header")
end
context "with internal support user" do
let(:current_user) { FactoryBot.create(:user, :support) }
expect(govuk_header_classes) .to eq("app-header app-header--orange")
end
end
describe "govuk_phase_banner_tag" do
context "with external user" do
expect(govuk_phase_banner_tag) .to eq({
text: "Beta",
})
end
context "with support user" do
let(:current_user) { FactoryBot.create(:user, :support) }
expect(govuk_phase_banner_tag) .to eq({
colour: "orange",
text: "Support beta",
})
end
end
describe "browser_title" do
context "with no pagination" do
it "returns correct browser title when title is given" do

Loading…
Cancel
Save