Paul Robert Lloyd
3 years ago
committed by
GitHub
8 changed files with 78 additions and 0 deletions
@ -0,0 +1,24 @@
|
||||
class ContentController < ApplicationController |
||||
def accessibility_statement |
||||
render_content_page :accessibility_statement |
||||
end |
||||
|
||||
def privacy_notice |
||||
render_content_page :privacy_notice, page_title: "Privacy notice for tenants and buyers of new social housing" |
||||
end |
||||
|
||||
private |
||||
|
||||
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_title || page_name.to_s.humanize |
||||
@page_content = GovukMarkdown.render(content_with_erb_tags_replaced).html_safe |
||||
|
||||
render "content/page" |
||||
end |
||||
end |
@ -0,0 +1,9 @@
|
||||
<%= content_for :title, @page_title %> |
||||
|
||||
<div class="govuk-grid-row"> |
||||
<div class="govuk-grid-column-two-thirds-from-desktop"> |
||||
<h1 class="govuk-heading-xl"><%= @page_title %></h1> |
||||
|
||||
<%= @page_content %> |
||||
</div> |
||||
</div> |
@ -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