11from unittest .mock import patch
22
3- from pythonit_toolkit .emails .utils import get_email_backend
4- from ward import test
3+ from pythonit_toolkit .emails .utils import SafeString , get_email_backend , mark_safe
4+ from ward import test , raises
55
66
77class TestBackend :
@@ -26,7 +26,8 @@ async def _():
2626 assert "tests.emails.test_utils.TestBackend" in str (type (loaded_backend ))
2727
2828 with patch ("pythonit_toolkit.emails.utils.importlib.import_module" ) as mock :
29- loaded_backend = get_email_backend ("tests.emails.test_utils.TestBackend" )
29+ loaded_backend = get_email_backend (
30+ "tests.emails.test_utils.TestBackend" )
3031
3132 assert "tests.emails.test_utils.TestBackend" in str (type (loaded_backend ))
3233 assert not mock .called
@@ -46,3 +47,25 @@ async def _():
4647 )
4748 assert loaded_backend .a == 1
4849 assert loaded_backend .b == 2
50+
51+
52+ @test ("mark safe" )
53+ async def _ ():
54+ safe_string = mark_safe ("abc" )
55+
56+ assert isinstance (safe_string , SafeString )
57+ assert str (safe_string ) == "abc"
58+
59+
60+ @test ("mark safe with empty string" )
61+ async def _ ():
62+ safe_string = mark_safe ("" )
63+
64+ assert isinstance (safe_string , SafeString )
65+ assert str (safe_string ) == ""
66+
67+
68+ @test ("None cannot be converted to safe string" )
69+ async def _ ():
70+ with raises (ValueError ):
71+ mark_safe (None )
0 commit comments