From deec2bc785b439d145a51e18261ee3b1d8ed97ca Mon Sep 17 00:00:00 2001 From: Kenneth Kehl <@kkehl@flexion.us> Date: Mon, 9 Jun 2025 14:24:47 -0700 Subject: [PATCH] make this branch exactly like the pre-upgrade branch --- manifest.yml | 1 - pyproject.toml | 3 +- tests/app/main/views/test_templates.py | 202 +++++++++---------- tests/end_to_end/test_create_new_template.py | 3 +- 4 files changed, 104 insertions(+), 105 deletions(-) diff --git a/manifest.yml b/manifest.yml index 964e9e183..2322bb376 100644 --- a/manifest.yml +++ b/manifest.yml @@ -44,7 +44,6 @@ applications: NOTIFY_BILLING_DETAILS: '[]' - SSL_CERT_FILE: '/etc/ssl/certs/ca-certificates.crt' REQUESTS_CA_BUNDLE: '/etc/ssl/certs/ca-certificates.crt' NEW_RELIC_CA_BUNDLE_PATH: '/etc/ssl/certs/ca-certificates.crt' diff --git a/pyproject.toml b/pyproject.toml index f7ab64ba2..47018b518 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,7 +12,6 @@ python = "^3.12.2" ago = "~=0.1.0" beautifulsoup4 = "^4.13.3" blinker = "~=1.8" -eventlet = "==0.40.0" exceptiongroup = "==1.3.0" flask = "~=3.1" flask-basicauth = "~=0.2" @@ -89,7 +88,7 @@ jinja2-cli = {version = "==0.8.2", extras = ["yaml"]} moto = "*" pip-audit = "*" pre-commit = "^4.2.0" -pytest = "^8.4.0" +pytest = "^8.3.5" pytest-env = "^1.1.3" pytest-mock = "^3.14.1" pytest-playwright = "^0.7.0" diff --git a/tests/app/main/views/test_templates.py b/tests/app/main/views/test_templates.py index 250815269..404d4b92b 100644 --- a/tests/app/main/views/test_templates.py +++ b/tests/app/main/views/test_templates.py @@ -1725,111 +1725,111 @@ def test_add_template_page_title( assert normalize_spaces(page.select_one("h1").text) == expected -# def test_can_create_email_template_with_emoji( -# client_request, mock_create_service_template -# ): -# client_request.post( -# ".add_service_template", -# service_id=SERVICE_ONE_ID, -# template_type="email", -# _data={ -# "name": "new name", -# "subject": "Food incoming!", -# "template_content": "here's a burrito 🌯", -# "template_type": "email", -# "service": SERVICE_ONE_ID, -# "process_type": "normal", -# }, -# _expected_status=302, -# ) -# assert mock_create_service_template.called is True +def test_can_create_email_template_with_emoji( + client_request, mock_create_service_template +): + client_request.post( + ".add_service_template", + service_id=SERVICE_ONE_ID, + template_type="email", + _data={ + "name": "new name", + "subject": "Food incoming!", + "template_content": "here's a burrito 🌯", + "template_type": "email", + "service": SERVICE_ONE_ID, + "process_type": "normal", + }, + _expected_status=302, + ) + assert mock_create_service_template.called is True -# @pytest.mark.parametrize( -# ("template_type", "expected_error"), -# [ -# ( -# "sms", -# ( -# "Please remove the unaccepted character 🍜 in your message, then save again" -# ), -# ), -# ], -# ) -# def test_should_not_create_sms_template_with_emoji( -# client_request, -# service_one, -# mock_create_service_template, -# template_type, -# expected_error, -# ): -# service_one["permissions"] += [template_type] -# page = client_request.post( -# ".add_service_template", -# service_id=SERVICE_ONE_ID, -# template_type=template_type, -# _data={ -# "name": "new name", -# "template_content": "here are some noodles 🍜", -# "template_type": "sms", -# "service": SERVICE_ONE_ID, -# "process_type": "normal", -# }, -# _expected_status=200, -# ) -# # print(page.main.prettify()) -# assert expected_error in normalize_spaces( -# page.select_one("#template_content-error").text -# ) -# assert mock_create_service_template.called is False +@pytest.mark.parametrize( + ("template_type", "expected_error"), + [ + ( + "sms", + ( + "Please remove the unaccepted character 🍜 in your message, then save again" + ), + ), + ], +) +def test_should_not_create_sms_template_with_emoji( + client_request, + service_one, + mock_create_service_template, + template_type, + expected_error, +): + service_one["permissions"] += [template_type] + page = client_request.post( + ".add_service_template", + service_id=SERVICE_ONE_ID, + template_type=template_type, + _data={ + "name": "new name", + "template_content": "here are some noodles 🍜", + "template_type": "sms", + "service": SERVICE_ONE_ID, + "process_type": "normal", + }, + _expected_status=200, + ) + # print(page.main.prettify()) + assert expected_error in normalize_spaces( + page.select_one("#template_content-error").text + ) + assert mock_create_service_template.called is False -# @pytest.mark.parametrize( -# ("template_type", "expected_error"), -# [ -# ( -# "sms", -# ( -# "Please remove the unaccepted character 🍔 in your message, then save again" -# ), -# ), -# ], -# ) -# def test_should_not_update_sms_template_with_emoji( -# mocker, -# client_request, -# service_one, -# mock_get_service_template, -# mock_update_service_template, -# fake_uuid, -# template_type, -# expected_error, -# ): -# service_one["permissions"] += [template_type] -# return mocker.patch( -# "app.service_api_client.get_service_template", -# return_value=template_json( -# SERVICE_ONE_ID, -# fake_uuid, -# type_=template_type, -# ), -# ) -# page = client_request.post( -# ".edit_service_template", -# service_id=SERVICE_ONE_ID, -# template_id=fake_uuid, -# _data={ -# "id": fake_uuid, -# "name": "new name", -# "template_content": "here's a burger 🍔", -# "service": SERVICE_ONE_ID, -# "template_type": template_type, -# "process_type": "normal", -# }, -# _expected_status=200, -# ) -# assert expected_error in page.text -# assert mock_update_service_template.called is False +@pytest.mark.parametrize( + ("template_type", "expected_error"), + [ + ( + "sms", + ( + "Please remove the unaccepted character 🍔 in your message, then save again" + ), + ), + ], +) +def test_should_not_update_sms_template_with_emoji( + mocker, + client_request, + service_one, + mock_get_service_template, + mock_update_service_template, + fake_uuid, + template_type, + expected_error, +): + service_one["permissions"] += [template_type] + return mocker.patch( + "app.service_api_client.get_service_template", + return_value=template_json( + SERVICE_ONE_ID, + fake_uuid, + type_=template_type, + ), + ) + page = client_request.post( + ".edit_service_template", + service_id=SERVICE_ONE_ID, + template_id=fake_uuid, + _data={ + "id": fake_uuid, + "name": "new name", + "template_content": "here's a burger 🍔", + "service": SERVICE_ONE_ID, + "template_type": template_type, + "process_type": "normal", + }, + _expected_status=200, + ) + assert expected_error in page.text + assert mock_update_service_template.called is False @pytest.mark.parametrize( diff --git a/tests/end_to_end/test_create_new_template.py b/tests/end_to_end/test_create_new_template.py index 07c9ba2be..50265c075 100644 --- a/tests/end_to_end/test_create_new_template.py +++ b/tests/end_to_end/test_create_new_template.py @@ -12,7 +12,7 @@ from tests.end_to_end.conftest import check_axe_report E2E_TEST_URI = os.getenv("NOTIFY_E2E_TEST_URI") -def create_new_template(page): +async def create_new_template(page): current_service_link = page.get_by_text("Current service") expect(current_service_link).to_be_visible() @@ -84,6 +84,7 @@ def create_new_template(page): page.wait_for_load_state("domcontentloaded") preview_button = page.get_by_text("Preview") + assert await preview_button.evaluate("el => el.tagName") == "BUTTON" expect(preview_button).to_be_visible() preview_button.click()