From d34c1ff4c998c35d2e4e79c842668feaee91ee2d Mon Sep 17 00:00:00 2001 From: robbertuittenbroek Date: Thu, 27 Jun 2024 14:14:12 +0200 Subject: [PATCH] PR review changes --- script/translate | 9 ++++++++- tad/api/deps.py | 2 +- tad/api/routes/pages.py | 2 +- tad/api/routes/tasks.py | 4 ++-- tests/e2e/test_change_lang.py | 21 ++++++++++++--------- 5 files changed, 24 insertions(+), 14 deletions(-) diff --git a/script/translate b/script/translate index 56433171f..e003b8c52 100755 --- a/script/translate +++ b/script/translate @@ -2,9 +2,13 @@ if [ "$#" -ne 1 ] then + echo "Usage: ./translate command" echo "command is init (caution: only needed once, it creates empty translation files), update, compile" -elif [ "$1" = "compile" ] + exit 1 +fi + +if [ "$1" = "compile" ] then ./script/pybabel-for-tad compile -d tad/locale elif [ "$1" = "init" ] @@ -17,4 +21,7 @@ elif [ "$1" = "update" ] then ./script/pybabel-for-tad extract -F babel-mapping.ini . -o tad/locale/base.pot ./script/pybabel-for-tad update -i tad/locale/base.pot -d tad/locale +else + echo "Unknown command" + exit 1 fi diff --git a/tad/api/deps.py b/tad/api/deps.py index bbd33a13f..4d51c8563 100644 --- a/tad/api/deps.py +++ b/tad/api/deps.py @@ -41,7 +41,7 @@ def _create_env( env.add_extension("jinja2.ext.i18n") # type: ignore return env # type: ignore - def LocaleTemplateResponse(self, *args: typing.Any, **kwargs: typing.Any) -> _TemplateResponse: + def TemplateResponse(self, *args: typing.Any, **kwargs: typing.Any) -> _TemplateResponse: content_language = get_supported_translation(get_requested_language(kwargs["request"])) translations = get_translation(content_language) kwargs["headers"] = {"Content-Language": ",".join(supported_translations)} diff --git a/tad/api/routes/pages.py b/tad/api/routes/pages.py index c2fabb40e..648f6ac7f 100644 --- a/tad/api/routes/pages.py +++ b/tad/api/routes/pages.py @@ -21,4 +21,4 @@ async def default_layout( "tasks_service": tasks_service, "statuses_service": status_service, } - return templates.LocaleTemplateResponse(request=request, name="default_layout.jinja", context=context) + return templates.TemplateResponse(request=request, name="default_layout.jinja", context=context) diff --git a/tad/api/routes/tasks.py b/tad/api/routes/tasks.py index 336a4c172..120434d29 100644 --- a/tad/api/routes/tasks.py +++ b/tad/api/routes/tasks.py @@ -34,8 +34,8 @@ async def move_task( moved_task.next_sibling_id, ) # todo(Robbert) add error handling for input error or task error handling - return templates.LocaleTemplateResponse(request=request, name="task.jinja", context={"task": task}) + return templates.TemplateResponse(request=request, name="task.jinja", context={"task": task}) except Exception: - return templates.LocaleTemplateResponse( + return templates.TemplateResponse( status_code=status.HTTP_500_INTERNAL_SERVER_ERROR, request=request, name="error.jinja" ) diff --git a/tests/e2e/test_change_lang.py b/tests/e2e/test_change_lang.py index 05bbc2d39..31779b394 100644 --- a/tests/e2e/test_change_lang.py +++ b/tests/e2e/test_change_lang.py @@ -1,13 +1,10 @@ from playwright.sync_api import Cookie, Page, expect -def test_change_language(browser: Page) -> Cookie | None: - # TODO: (Christopher) figure out what we want to do with - # pyright complaining about accessing dict values, which - # we ingnore now. - def get_lang_cookie(browser: Page): +def test_change_language(browser: Page): + def get_lang_cookie(browser: Page) -> Cookie | None: for cookie in browser.context.cookies(): - if cookie["name"] == "lang": # type: ignore + if "name" in cookie and cookie["name"] == "lang": return cookie return None @@ -20,14 +17,20 @@ def get_lang_cookie(browser: Page): browser.click("#langselect-nl") expect(browser.locator("#langselect-nl.selected")).to_be_visible() lang_cookie = get_lang_cookie(browser) - assert lang_cookie["value"] == "nl" # type: ignore + assert lang_cookie is not None + assert "value" in lang_cookie + assert lang_cookie["value"] == "nl" browser.click("#langselect-fy") expect(browser.locator("#langselect-fy.selected")).to_be_visible() lang_cookie = get_lang_cookie(browser) - assert lang_cookie["value"] == "fy" # type: ignore + assert lang_cookie is not None + assert "value" in lang_cookie + assert lang_cookie["value"] == "fy" browser.click("#langselect-en") expect(browser.locator("#langselect-en.selected")).to_be_visible() lang_cookie = get_lang_cookie(browser) - assert lang_cookie["value"] == "en" # type: ignore + assert lang_cookie is not None + assert "value" in lang_cookie + assert lang_cookie["value"] == "en"