Browse Source

Pass current user into method

pull/660/head
baarkerlounger 3 years ago
parent
commit
89e7ea78a9
  1. 4
      app/helpers/application_helper.rb
  2. 4
      app/views/layouts/application.html.erb
  3. 27
      spec/helpers/application_helper_spec.rb

4
app/helpers/application_helper.rb

@ -9,7 +9,7 @@ module ApplicationHelper
end
end
def govuk_header_classes
def govuk_header_classes(current_user)
if current_user && current_user.support?
"app-header app-header--orange"
else
@ -17,7 +17,7 @@ module ApplicationHelper
end
end
def govuk_phase_banner_tag
def govuk_phase_banner_tag(current_user)
if current_user && current_user.support?
{ colour: "orange", text: "Support beta" }
else

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

@ -43,7 +43,7 @@
<%= govuk_skip_link %>
<%= govuk_header(
classes: govuk_header_classes,
classes: govuk_header_classes(current_user),
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: govuk_phase_banner_tag,
tag: govuk_phase_banner_tag(current_user),
text: "This is a new service – help us improve it by #{feedback_link}".html_safe,
) %>

27
spec/helpers/application_helper_spec.rb

@ -6,31 +6,40 @@ RSpec.describe ApplicationHelper do
let(:subsection) { form.get_subsection("household_characteristics") }
let(:case_log) { FactoryBot.build(:case_log, :in_progress) }
let(:pagy) { nil }
let(:current_user) { FactoryBot.create(:user) }
describe "govuk_header_classes" do
context "with external user" do
expect(govuk_header_classes) .to eq("app-header")
it "shows the standard app header" do
expect(govuk_header_classes(current_user)).to eq("app-header")
end
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")
it "shows an orange header" do
expect(govuk_header_classes(current_user)).to eq("app-header app-header--orange")
end
end
end
describe "govuk_phase_banner_tag" do
context "with external user" do
expect(govuk_phase_banner_tag) .to eq({
text: "Beta",
})
it "shows the standard phase tag" do
expect(govuk_phase_banner_tag(current_user)).to eq({ text: "Beta" })
end
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",
})
it "shows an orange phase tag" do
expect(govuk_phase_banner_tag(current_user)).to eq({
colour: "orange",
text: "Support beta",
})
end
end
end

Loading…
Cancel
Save