baarkerlounger
3 years ago
5 changed files with 52 additions and 32 deletions
@ -1,14 +0,0 @@ |
|||||||
module ContentHelper |
|
||||||
def render_content_page(page_name, page_title: nil, locals: {}) |
|
||||||
raw_content = File.read("app/views/content/#{page_name}.md") |
|
||||||
content_with_erb_tags_replaced = ApplicationController.renderer.render( |
|
||||||
inline: raw_content, |
|
||||||
locals:, |
|
||||||
) |
|
||||||
|
|
||||||
page_title ||= page_name.to_s.humanize |
|
||||||
page_content = GovukMarkdown.render(content_with_erb_tags_replaced).html_safe |
|
||||||
|
|
||||||
render "content/page", locals: { page_title:, page_content: } |
|
||||||
end |
|
||||||
end |
|
@ -1,9 +1,9 @@ |
|||||||
<%= content_for :title, page_title %> |
<%= content_for :title, @page_title %> |
||||||
|
|
||||||
<div class="govuk-grid-row"> |
<div class="govuk-grid-row"> |
||||||
<div class="govuk-grid-column-two-thirds-from-desktop"> |
<div class="govuk-grid-column-two-thirds-from-desktop"> |
||||||
<h1 class="govuk-heading-xl"><%= page_title %></h1> |
<h1 class="govuk-heading-xl"><%= @page_title %></h1> |
||||||
|
|
||||||
<%= page_content %> |
<%= @page_content %> |
||||||
</div> |
</div> |
||||||
</div> |
</div> |
||||||
|
@ -1,13 +0,0 @@ |
|||||||
require "rails_helper" |
|
||||||
|
|
||||||
RSpec.describe ContentHelper do |
|
||||||
let(:page_name) { "privacy_notice" } |
|
||||||
|
|
||||||
describe "render content page" do |
|
||||||
it "returns the page" do |
|
||||||
expected_html = "Privacy notice" |
|
||||||
expect(render_content_page(page_name)).to match(expected_html) |
|
||||||
expect(page).to have_title("Privacy notice") |
|
||||||
end |
|
||||||
end |
|
||||||
end |
|
@ -0,0 +1,34 @@ |
|||||||
|
require "rails_helper" |
||||||
|
|
||||||
|
RSpec.describe ContentController, type: :request do |
||||||
|
let(:headers) { { "Accept" => "text/html" } } |
||||||
|
let(:page) { Capybara::Node::Simple.new(response.body) } |
||||||
|
|
||||||
|
describe "render privacy notice content page" do |
||||||
|
before do |
||||||
|
get "/privacy-notice", headers: headers, params: {} |
||||||
|
end |
||||||
|
|
||||||
|
it "returns a 200" do |
||||||
|
expect(response).to have_http_status(:success) |
||||||
|
end |
||||||
|
|
||||||
|
it "returns the page" do |
||||||
|
expect(page).to have_title("Privacy notice") |
||||||
|
end |
||||||
|
end |
||||||
|
|
||||||
|
describe "render accessibility statement content page" do |
||||||
|
before do |
||||||
|
get "/accessibility-statement", headers: headers, params: {} |
||||||
|
end |
||||||
|
|
||||||
|
it "returns a 200" do |
||||||
|
expect(response).to have_http_status(:success) |
||||||
|
end |
||||||
|
|
||||||
|
it "returns the page" do |
||||||
|
expect(page).to have_title("Accessibility statement") |
||||||
|
end |
||||||
|
end |
||||||
|
end |
Loading…
Reference in new issue