canaille-globuzma/tests/app/test_i18n.py

75 lines
2.6 KiB
Python
Raw Normal View History

2023-03-01 14:30:07 +00:00
from flask_babel import refresh
2023-03-01 14:30:07 +00:00
def test_preferred_language(slapd_server, testclient, logged_user):
logged_user.preferred_language = None
2022-12-04 10:53:37 +00:00
logged_user.save()
res = testclient.get("/profile/user", status=200)
assert res.form["preferred_language"].value == "auto"
2023-01-29 22:06:12 +00:00
assert res.pyquery("html")[0].attrib["lang"] == "en"
res.mustcontain("My profile")
res.mustcontain(no="Mon profil")
res.form["preferred_language"] = "fr"
2023-03-01 14:30:07 +00:00
res = res.form.submit(name="action", value="edit")
assert res.flashes == [("success", "Le profil a été mis à jour avec succès.")]
res = res.follow()
logged_user.reload()
assert logged_user.preferred_language == "fr"
assert res.form["preferred_language"].value == "fr"
2023-01-29 22:06:12 +00:00
assert res.pyquery("html")[0].attrib["lang"] == "fr"
res.mustcontain(no="My profile")
res.mustcontain("Mon profil")
res.form["preferred_language"] = "en"
2023-03-01 14:30:07 +00:00
res = res.form.submit(name="action", value="edit")
assert res.flashes == [("success", "Profile updated successfuly.")]
res = res.follow()
logged_user.reload()
assert logged_user.preferred_language == "en"
assert res.form["preferred_language"].value == "en"
2023-01-29 22:06:12 +00:00
assert res.pyquery("html")[0].attrib["lang"] == "en"
res.mustcontain("My profile")
res.mustcontain(no="Mon profil")
res.form["preferred_language"] = "auto"
2023-03-01 14:30:07 +00:00
res = res.form.submit(name="action", value="edit")
assert res.flashes == [("success", "Profile updated successfuly.")]
res = res.follow()
logged_user.reload()
assert logged_user.preferred_language is None
assert res.form["preferred_language"].value == "auto"
2023-01-29 22:06:12 +00:00
assert res.pyquery("html")[0].attrib["lang"] == "en"
res.mustcontain("My profile")
res.mustcontain(no="Mon profil")
2023-04-02 11:24:06 +00:00
def test_form_translations(slapd_server, testclient, logged_user):
2023-05-11 14:02:32 +00:00
logged_user.preferred_language = "fr"
2023-04-02 11:24:06 +00:00
logged_user.save()
res = testclient.get("/profile/user", status=200)
res.form["email"] = "invalid"
2023-04-02 11:24:06 +00:00
res = res.form.submit(name="action", value="edit")
res.mustcontain(no="Invalid email address.")
res.mustcontain("Adresse électronique non valide.")
def test_language_config(testclient, logged_user):
logged_user.preferred_language = None
2022-12-04 10:53:37 +00:00
logged_user.save()
res = testclient.get("/profile/user", status=200)
2023-01-29 22:06:12 +00:00
assert res.pyquery("html")[0].attrib["lang"] == "en"
res.mustcontain("My profile")
res.mustcontain(no="Mon profil")
testclient.app.config["LANGUAGE"] = "fr"
2023-03-01 14:30:07 +00:00
refresh()
res = testclient.get("/profile/user", status=200)
2023-01-29 22:06:12 +00:00
assert res.pyquery("html")[0].attrib["lang"] == "fr"
res.mustcontain(no="My profile")
res.mustcontain("Mon profil")