1+
2+ from unittest import skipIf
3+
4+ from django import VERSION
15from django .conf import settings as django_settings
26from django .contrib .sites .models import Site
37from django .template .defaultfilters import slugify
@@ -70,6 +74,7 @@ def testPage(self):
7074 # TODO: add request tests
7175 # with translation.override('de'):
7276
77+ @skipIf (VERSION >= (4 , 0 ), "Language no longer saved to session in django 4+" )
7378 def test_user_has_language_set_with_session (self ):
7479 factory = RequestFactory ()
7580 request = factory .get (self .page_en .get_navigation_url ())
@@ -84,14 +89,25 @@ def test_user_has_language_set_with_cookie(self):
8489
8590 self .assertEqual (user_has_language_set (request ), True )
8691
92+ @skipIf (VERSION >= (4 , 0 ), "Language no longer saved to session in django 4+" )
8793 def test_translation_set_language_to_session (self ):
94+ factory = RequestFactory ()
95+ request = factory .get (self .page_de .get_navigation_url ())
96+ setattr (request , "session" , dict ())
97+ translation_set_language (request , "de" )
98+
99+ self .assertEqual (request .LANGUAGE_CODE , "de" )
100+ self .assertEqual (request .session [self .language_session_key ], "de" )
101+
102+ @skipIf (VERSION >= (4 , 0 ), "Language no longer saved to session in django 4+" )
103+ def test_translation_set_language_to_session_primary (self ):
88104 factory = RequestFactory ()
89105 request = factory .get (self .page_en .get_navigation_url ())
90106 setattr (request , "session" , dict ())
91107 translation_set_language (request , "en" )
92108
93109 self .assertEqual (request .LANGUAGE_CODE , "en" )
94- self .assertEqual (request .session [ self .language_session_key ], "en " )
110+ self .assertEqual (request .session . get ( self .language_session_key , 'unset' ), "unset " )
95111
96112 def test_translation_set_language_to_cookie (self ):
97113 factory = RequestFactory ()
0 commit comments