Skip to content

Commit

Permalink
Add recruitment banner
Browse files Browse the repository at this point in the history
  • Loading branch information
catalinailie committed Sep 27, 2023
1 parent 13d2608 commit de8a1fd
Show file tree
Hide file tree
Showing 4 changed files with 74 additions and 0 deletions.
24 changes: 24 additions & 0 deletions app/presenters/content_item/recruitment_banner.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
module ContentItem
module RecruitmentBanner
SURVEY_URL = "https://surveys.publishing.service.gov.uk/s/SNFVW1/".freeze
SURVEY_URL_MAPPINGS = {
"/log-in-register-hmrc-online-services" => SURVEY_URL,
"/log-in-file-self-assessment-tax-return" => SURVEY_URL,
"/self-assessment-tax-returns" => SURVEY_URL,
"/pay-self-assessment-tax-bill" => SURVEY_URL,
"/contact-hmrc" => SURVEY_URL,
"/log-in-register-hmrc-online-services/register" => SURVEY_URL,
"/dbs-update-service" => SURVEY_URL,
"/government/organisations/hm-revenue-customs/contact/self-assessment" => SURVEY_URL,
}.freeze

def recruitment_survey_url
user_research_test_url
end

def user_research_test_url
key = content_item["base_path"]
SURVEY_URL_MAPPINGS[key]
end
end
end
1 change: 1 addition & 0 deletions app/presenters/content_item_presenter.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
class ContentItemPresenter
include ContentItem::Withdrawable
include ContentItem::RecruitmentBanner

attr_reader :content_item,
:requested_path,
Expand Down
11 changes: 11 additions & 0 deletions app/views/layouts/application.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,17 @@
<%= render 'govuk_publishing_components/components/contextual_breadcrumbs', content_item: @content_item.parsed_content_item, ga4_tracking: true %>
<% end %>
<% end %>

<% if @content_item.recruitment_survey_url %>
<div class="govuk-!-static-margin-top-4">
<%= render "govuk_publishing_components/components/intervention", {
suggestion_text: "Help improve a new GOV.UK tool",
suggestion_link_text: "Sign up to take part in user research",
suggestion_link_url: @content_item.recruitment_survey_url,
new_tab: true,
} %>
</div>
<% end %>

<%= yield :header %>

Expand Down
38 changes: 38 additions & 0 deletions test/integration/recruitment_banner_test.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
require "test_helper"

class RecruitmentBannerTest < ActionDispatch::IntegrationTest
test "User research banner is displayed on pages of interest" do
guide = GovukSchemas::Example.find("guide", example_name: "guide")

pages_of_interest =
[
"/log-in-register-hmrc-online-services",
"/log-in-file-self-assessment-tax-return",
"/self-assessment-tax-returns",
"/pay-self-assessment-tax-bill",
"/contact-hmrc",
"/log-in-register-hmrc-online-services/register",
"/dbs-update-service",
"/government/organisations/hm-revenue-customs/contact/self-assessment",
]

pages_of_interest.each do |path|
guide["base_path"] = path
stub_content_store_has_item(guide["base_path"], guide.to_json)
visit guide["base_path"]

assert page.has_css?(".gem-c-intervention")
assert page.has_link?("Sign up to take part in user research", href: "https://surveys.publishing.service.gov.uk/s/SNFVW1/")
end
end

test "User research banner is not displayed on all pages" do
guide = GovukSchemas::Example.find("guide", example_name: "guide")
guide["base_path"] = "/nothing-to-see-here"
stub_content_store_has_item(guide["base_path"], guide.to_json)
visit guide["base_path"]

assert_not page.has_css?(".gem-c-intervention")
assert_not page.has_link?("Sign up to take part in user research", href: "https://gov.uk")
end
end

0 comments on commit de8a1fd

Please sign in to comment.