Add a route to serve guidance pages

Rather than hard coding the page titles, let’s just accept anythin
 that’s a real template in the guidance folder – will make it easier for
 Karl to edit and create pages.
This commit is contained in:
Chris Hill-Scott
2020-01-22 13:47:23 +00:00
parent cd8b41d8d3
commit 8e5d11c70e
2 changed files with 32 additions and 0 deletions

View File

@@ -7,6 +7,7 @@ from flask import (
url_for,
)
from flask_login import current_user
from jinja2.exceptions import TemplateNotFound
from notifications_utils.international_billing_rates import (
INTERNATIONAL_BILLING_RATES,
)
@@ -325,6 +326,17 @@ def trial_mode_new():
)
@main.route('/guidance')
@main.route('/guidance/<slug>')
def guidance(slug='index'):
try:
return render_template(
'views/guidance/{}.html'.format(slug)
)
except TemplateNotFound:
abort(404)
# --- Redirects --- #
@main.route('/roadmap', endpoint='old_roadmap')

View File

@@ -277,3 +277,23 @@ def test_letter_spec_redirect_with_non_logged_in_user(client_request):
'/documentation/images/notify-pdf-letter-spec-v2.4.pdf'
),
)
def test_guidance_index(client_request):
client_request.get('main.guidance')
@pytest.mark.parametrize('slug', (
'branding-and-customisation',
'create-and-send-messages',
'edit-and-format-messages',
'index',
'send-files-by-email',
'upload-a-letter',
))
def test_guidance_pages(client_request, slug):
client_request.get('main.guidance', slug=slug)
def test_guidance_404s_for_page_that_doesnt_exist(client_request):
client_request.get('main.guidance', slug='foo', _expected_status=404)