diff --git a/manyfews/webapp/templates/webapp/trmnl_display.html b/manyfews/webapp/templates/webapp/trmnl_display.html
new file mode 100644
index 00000000..48aa04a7
--- /dev/null
+++ b/manyfews/webapp/templates/webapp/trmnl_display.html
@@ -0,0 +1,85 @@
+{% load i18n %}
+
+
+
+
+
{% trans "Flood Risk – Next 5 Days" %}
+
{% trans "Updated" %} {{ generated_at|date:"D j M, H:i" }}
+
+ {% for d in daily_risks %}
+
+
{{ d.max_percentage_risk }}%
+
+
{{ d.date|date:"D" }}
{{ d.date|date:"j M" }}
+
+ {% endfor %}
+
+
+
+
diff --git a/manyfews/webapp/tests.py b/manyfews/webapp/tests.py
index cc134bc9..9adfefbd 100644
--- a/manyfews/webapp/tests.py
+++ b/manyfews/webapp/tests.py
@@ -6,6 +6,7 @@
from django.contrib.staticfiles.testing import StaticLiveServerTestCase
from django.core import mail
from django.test import TestCase, LiveServerTestCase
+from django.urls import reverse
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
@@ -50,6 +51,13 @@ def test_check_verification_code_requires_approved_status(self, client_cls):
assert twilio_alerts.check_verification_code("+441234567890", "123456") is False
+class TrmnlDisplayTests(TestCase):
+ def test_trmnl_display_returns_5_day_bars(self):
+ response = self.client.get(reverse("trmnl_display"))
+ self.assertEqual(response.status_code, 200)
+ self.assertEqual(response.content.decode().count("bar-column"), 5)
+
+
class ConverterTestCase(TestCase):
def test_bounding_box_url_parameter_converter(self):
converter = BoundingBoxUrlParameterConverter()
diff --git a/manyfews/webapp/urls.py b/manyfews/webapp/urls.py
index ef8277d4..318d8a8e 100644
--- a/manyfews/webapp/urls.py
+++ b/manyfews/webapp/urls.py
@@ -12,6 +12,7 @@
name="depths",
),
path("river-flows", views.river_flows, name="river_flows"),
+ path("trmnl/", views.trmnl_display, name="trmnl_display"),
path("alerts/verify", views.verify_alert, name="verify"),
path(
"alerts/resend-verification/