canaille-globuzma/tests/test_i18n.py

56 lines
2.1 KiB
Python
Raw Normal View History

from canaille.models import User
def test_preferred_language(testclient, logged_user):
2022-12-04 10:53:37 +00:00
logged_user.preferredLanguage = None
logged_user.save()
res = testclient.get("/profile/user", status=200)
assert res.form["preferredLanguage"].value == "auto"
2023-01-29 22:06:12 +00:00
assert res.pyquery("html")[0].attrib["lang"] == "en"
assert "My profile" in res.text
assert "Mon profil" not in res.text
res.form["preferredLanguage"] = "fr"
res = res.form.submit(name="action", value="edit").follow()
logged_user = User.get(dn=logged_user.dn)
assert logged_user.preferredLanguage == "fr"
assert res.form["preferredLanguage"].value == "fr"
2023-01-29 22:06:12 +00:00
assert res.pyquery("html")[0].attrib["lang"] == "fr"
assert "My profile" not in res.text
assert "Mon profil" in res.text
res.form["preferredLanguage"] = "en"
res = res.form.submit(name="action", value="edit").follow()
logged_user = User.get(dn=logged_user.dn)
assert logged_user.preferredLanguage == "en"
assert res.form["preferredLanguage"].value == "en"
2023-01-29 22:06:12 +00:00
assert res.pyquery("html")[0].attrib["lang"] == "en"
assert "My profile" in res.text
assert "Mon profil" not in res.text
res.form["preferredLanguage"] = "auto"
res = res.form.submit(name="action", value="edit").follow()
logged_user = User.get(dn=logged_user.dn)
assert logged_user.preferredLanguage is None
assert res.form["preferredLanguage"].value == "auto"
2023-01-29 22:06:12 +00:00
assert res.pyquery("html")[0].attrib["lang"] == "en"
assert "My profile" in res.text
assert "Mon profil" not in res.text
def test_language_config(testclient, logged_user):
2022-12-04 10:53:37 +00:00
logged_user.preferredLanguage = None
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"
assert "My profile" in res.text
assert "Mon profil" not in res.text
testclient.app.config["LANGUAGE"] = "fr"
res = testclient.get("/profile/user", status=200)
2023-01-29 22:06:12 +00:00
assert res.pyquery("html")[0].attrib["lang"] == "fr"
assert "My profile" not in res.text
assert "Mon profil" in res.text