From 06a15c5afccbce843f1277d20d9b327b526335ac Mon Sep 17 00:00:00 2001 From: Jonathan Bobel Date: Thu, 16 Nov 2023 12:02:59 -0500 Subject: [PATCH 1/4] 927 - Updates to math in Dashboard area --- app/__init__.py | 5 ++++- app/assets/javascripts/date.js | 9 +++++++++ app/templates/views/dashboard/_usage.html | 2 +- app/templates/views/dashboard/dashboard.html | 4 ++-- app/templates/views/usage.html | 2 +- gulpfile.js | 1 + 6 files changed, 18 insertions(+), 5 deletions(-) create mode 100644 app/assets/javascripts/date.js diff --git a/app/__init__.py b/app/__init__.py index 1694fe018..3c71904df 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -301,7 +301,10 @@ def init_app(application): remaining_global_messages = global_limit - global_messages_count.get( "count" ) - return {"daily_global_messages_remaining": remaining_global_messages} + return { + "daily_global_messages_remaining": remaining_global_messages, + "global_message_limit": global_limit + } @application.before_request def record_start_time(): diff --git a/app/assets/javascripts/date.js b/app/assets/javascripts/date.js new file mode 100644 index 000000000..1d6a0d353 --- /dev/null +++ b/app/assets/javascripts/date.js @@ -0,0 +1,9 @@ +(function (window) { + + "use strict"; + + // Show the current year + document.getElementById("current-year").innerHTML = new Date().getFullYear(); + + +})(window); diff --git a/app/templates/views/dashboard/_usage.html b/app/templates/views/dashboard/_usage.html index e7f9e5f07..a2e46d007 100644 --- a/app/templates/views/dashboard/_usage.html +++ b/app/templates/views/dashboard/_usage.html @@ -15,7 +15,7 @@ - {{ big_number(40000 - sms_allowance_remaining, smaller=True) }} + {{ big_number(sms_sent, smaller=True) }} {% if sms_cost %} {{ big_number( diff --git a/app/templates/views/dashboard/dashboard.html b/app/templates/views/dashboard/dashboard.html index 851629621..828c83101 100644 --- a/app/templates/views/dashboard/dashboard.html +++ b/app/templates/views/dashboard/dashboard.html @@ -45,7 +45,7 @@ - {{ 5000 - daily_global_messages_remaining }} + {{ global_message_limit - daily_global_messages_remaining }} {{ daily_global_messages_remaining }} @@ -54,7 +54,7 @@ {% if current_user.has_permissions('manage_service') %} -

2023

+

{{ ajax_block(partials, updates_url, 'usage') }} {{ show_more( url_for(".usage", service_id=current_service['id']), diff --git a/app/templates/views/usage.html b/app/templates/views/usage.html index a9801aabd..87ce5ade8 100644 --- a/app/templates/views/usage.html +++ b/app/templates/views/usage.html @@ -22,7 +22,7 @@

Daily messages across all services

-

You have sent {{ 5000 - daily_global_messages_remaining }} of your 5000 daily messages allowance.

+

You have sent {{ global_message_limit - daily_global_messages_remaining }} of your {{ global_message_limit }} daily messages allowance.

You have {{ daily_global_messages_remaining }} messages remaining.

Text messages

diff --git a/gulpfile.js b/gulpfile.js index f26ef6f39..541c39cf4 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -126,6 +126,7 @@ const javascripts = () => { paths.src + 'javascripts/errorBanner.js', paths.src + 'javascripts/homepage.js', paths.src + 'javascripts/timeoutPopup.js', + paths.src + 'javascripts/date.js', paths.src + 'javascripts/main.js', ]) .pipe(plugins.prettyerror()) From 6cee00929ecc2a4cffda9267500d760ebb616cf7 Mon Sep 17 00:00:00 2001 From: Jonathan Bobel Date: Thu, 16 Nov 2023 12:26:35 -0500 Subject: [PATCH 2/4] Fixed tests --- app/__init__.py | 3 ++- tests/app/main/views/test_dashboard.py | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/__init__.py b/app/__init__.py index 3c71904df..ab3e924a2 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -284,6 +284,7 @@ def init_app(application): @application.context_processor def _attach_current_global_daily_messages(): + global global_limit remaining_global_messages = 0 if current_app: if request.view_args: @@ -302,8 +303,8 @@ def init_app(application): "count" ) return { + "global_message_limit": global_limit, "daily_global_messages_remaining": remaining_global_messages, - "global_message_limit": global_limit } @application.before_request diff --git a/tests/app/main/views/test_dashboard.py b/tests/app/main/views/test_dashboard.py index f0e07f105..f2c9af263 100644 --- a/tests/app/main/views/test_dashboard.py +++ b/tests/app/main/views/test_dashboard.py @@ -1531,7 +1531,7 @@ def test_service_dashboard_shows_usage( assert normalize_spaces(page.select_one("[data-key=usage]").text) == ( "Daily Usage Remaining " - "40,000 " + "251,800 " "$29.85 " "spent on text messages" # Disabled for pilot @@ -1566,4 +1566,4 @@ def test_service_dashboard_shows_free_allowance( usage_text = normalize_spaces(page.select_one("[data-key=usage]").text) assert "spent on text messages" not in usage_text - assert "Daily Usage Remaining -209,000 249,000" in usage_text + assert "Daily Usage Remaining 1,000 249,000" in usage_text From 077b1b8ed9bed004c9071848a4cbdf4c12741fb0 Mon Sep 17 00:00:00 2001 From: Jonathan Bobel Date: Mon, 20 Nov 2023 13:45:35 -0500 Subject: [PATCH 3/4] Updated utils --- app/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/__init__.py b/app/__init__.py index ab3e924a2..21f0c8e03 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -284,7 +284,7 @@ def init_app(application): @application.context_processor def _attach_current_global_daily_messages(): - global global_limit + global_limit = 0 remaining_global_messages = 0 if current_app: if request.view_args: From e4c97e925f2be33d9aa373ac7be22fbb869bcd2f Mon Sep 17 00:00:00 2001 From: Jonathan Bobel Date: Tue, 21 Nov 2023 15:38:41 -0500 Subject: [PATCH 4/4] Adding a test for the dashboard usage area --- tests/app/main/views/test_dashboard.py | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/tests/app/main/views/test_dashboard.py b/tests/app/main/views/test_dashboard.py index f2c9af263..031bc0316 100644 --- a/tests/app/main/views/test_dashboard.py +++ b/tests/app/main/views/test_dashboard.py @@ -1517,6 +1517,7 @@ def test_breadcrumb_shows_if_service_is_suspended( ], ) def test_service_dashboard_shows_usage( + mocker, client_request, service_one, mock_get_service_templates, @@ -1526,18 +1527,22 @@ def test_service_dashboard_shows_usage( mock_get_free_sms_fragment_limit, permissions, ): + mocker.patch( + "app.service_api_client.get_global_notification_count", + return_value={ + "count": 500, + }, + ) + service_one["permissions"] = permissions page = client_request.get("main.service_dashboard", service_id=SERVICE_ONE_ID) - assert normalize_spaces(page.select_one("[data-key=usage]").text) == ( - "Daily Usage Remaining " - "251,800 " - "$29.85 " - "spent on text messages" - # Disabled for pilot - # '0 ' - # 'email disabled during SMS pilot' - ) + table_rows = page.find_all("tbody")[0].find_all("tr") + + assert len(table_rows) == 1 + + assert "500" in table_rows[0].find_all("td")[0].text + assert "9500" in table_rows[0].find_all("td")[1].text def test_service_dashboard_shows_free_allowance(