diff --git a/app/templates/views/usage-with-letters.html b/app/templates/views/usage-with-letters.html
index ebda8c463..ea5e06678 100644
--- a/app/templates/views/usage-with-letters.html
+++ b/app/templates/views/usage-with-letters.html
@@ -1,4 +1,5 @@
{% from "components/big-number.html" import big_number %}
+{% from "components/message-count-label.html" import message_count_label %}
{% from "components/table.html" import list_table, field, hidden_field_heading, row_heading, text_field %}
{% from "components/pill.html" import pill %}
@@ -100,10 +101,10 @@
) }}
{% if month.free %}
- - {{ "{:,}".format(month.free) }} free text messages
+ - {{ "{:,}".format(month.free) }} free {{ message_count_label(month.free, 'sms', '') }}
{% endif %}
{% if month.paid %}
- - {{ "{:,}".format(month.paid) }} text messages at
+
- {{ "{:,}".format(month.paid) }} {{ message_count_label(month.paid, 'sms', '') }}at
{{- ' {:.2f}p'.format(sms_rate * 100) }}
{% endif %}
{% if not (month.free or month.paid) %}
@@ -113,8 +114,8 @@
{% for letter in month.letters%}
{% if letter[0] %}
- - {{ "{:,} {}".format(letter[0], letter[3])}} class letters at {{ '{:.0f}p'.format(letter[1] * 100) }}
-
+ - {{ "{:,} {}".format(letter[0], letter[3])}} class {{ message_count_label(letter[0], 'letter', '') }}at
+ {{ '{:.0f}p'.format(letter[1] * 100) }}
{% endif %}
{% endfor %}
diff --git a/app/templates/views/usage.html b/app/templates/views/usage.html
index 85fbf32c3..f85bd07c4 100644
--- a/app/templates/views/usage.html
+++ b/app/templates/views/usage.html
@@ -1,4 +1,5 @@
{% from "components/big-number.html" import big_number %}
+{% from "components/message-count-label.html" import message_count_label %}
{% from "components/table.html" import list_table, field, hidden_field_heading, row_heading, text_field %}
{% from "components/pill.html" import pill %}
@@ -83,10 +84,10 @@
) }}
{% if month.free %}
- - {{ "{:,}".format(month.free) }} free text messages
+ - {{ "{:,}".format(month.free) }} free {{ message_count_label(month.free, 'sms', '') }}
{% endif %}
{% if month.paid %}
- - {{ "{:,}".format(month.paid) }} text messages at
+
- {{ "{:,}".format(month.paid) }} {{ message_count_label(month.free, 'sms', '') }}at
{{- ' {:.2f}p'.format(sms_rate * 100) }}
{% endif %}
{% if not (month.free or month.paid) %}
@@ -113,4 +114,4 @@
-{% endblock %}
\ No newline at end of file
+{% endblock %}
diff --git a/tests/app/main/views/test_dashboard.py b/tests/app/main/views/test_dashboard.py
index dbdd4604d..862206efb 100644
--- a/tests/app/main/views/test_dashboard.py
+++ b/tests/app/main/views/test_dashboard.py
@@ -808,8 +808,8 @@ def test_usage_page_with_letters(
assert '140 free text messages' in table
assert '£20.30' in table
assert '1,230 text messages at 1.65p' in table
- assert '10 second class letters at 31p' in table
- assert '5 first class letters at 33p' in table
+ assert '10 second class letters at 31p' in normalize_spaces(table)
+ assert '5 first class letters at 33p' in normalize_spaces(table)
@freeze_time("2012-04-30 12:12:12")
@@ -834,9 +834,9 @@ def test_usage_page_displays_letters_ordered_by_postage(
postage_details = row_for_april.find_all('li', class_='tabular-numbers')
assert len(postage_details) == 3
- assert normalize_spaces(postage_details[0].text) == '1 first class letters at 50p'
+ assert normalize_spaces(postage_details[0].text) == '1 first class letter at 50p'
assert normalize_spaces(postage_details[1].text) == '3 second class letters at 30p'
- assert normalize_spaces(postage_details[2].text) == '1 second class letters at 50p'
+ assert normalize_spaces(postage_details[2].text) == '1 second class letter at 50p'
def test_usage_page_with_year_argument(