def test_update_session_lang_not_user_preference(self): request = Mock() request.session = {} user = Mock() with self.settings(DEFAULT_LANGUAGE='invented'): with patch('wirecloud.platform.preferences.models.PlatformPreference') as platform_preference_mock: platform_preference_mock.objects.filter.return_value = [] update_session_lang(request, user) self.assertEqual(request.session[LANGUAGE_SESSION_KEY], 'invented')
def test_update_session_lang_not_user_preference(self): request = Mock() request.session = {} user = Mock() with self.settings(DEFAULT_LANGUAGE='invented'): with patch('wirecloud.platform.preferences.models.PlatformPreference') as platform_preference_mock: platform_preference_mock.objects.filter.return_value = [] update_session_lang(request, user) self.assertEqual(request.session[LANGUAGE_SESSION_KEY], 'invented')
def test_update_session_lang_default_browser(self): request = Mock() request.session = {} user = Mock() with self.settings(DEFAULT_LANGUAGE='browser', LANGUAGES=(('en', 'English'),)): with patch('wirecloud.platform.preferences.models.PlatformPreference') as platform_preference_mock: lang_pref_mock = Mock() lang_pref_mock.value = 'default' platform_preference_mock.objects.filter.return_value = [lang_pref_mock] update_session_lang(request, user) self.assertNotIn(LANGUAGE_SESSION_KEY, request.session)
def test_update_session_lang_invalid_user_preference(self): request = Mock() request.session = {LANGUAGE_SESSION_KEY: 'es'} user = Mock() with self.settings(DEFAULT_LANGUAGE='invented', LANGUAGES=(('es', 'Spanish'),)): with patch('wirecloud.platform.preferences.models.PlatformPreference') as platform_preference_mock: lang_pref_mock = Mock() lang_pref_mock.value = 'invalid' platform_preference_mock.objects.filter.return_value = [lang_pref_mock] update_session_lang(request, user) self.assertEqual(request.session[LANGUAGE_SESSION_KEY], 'invented')
def test_update_session_lang_default_browser(self): request = Mock() request.session = {} user = Mock() with self.settings(DEFAULT_LANGUAGE='browser', LANGUAGES=(('en', 'English'),)): with patch('wirecloud.platform.preferences.models.PlatformPreference') as platform_preference_mock: lang_pref_mock = Mock() lang_pref_mock.value = 'default' platform_preference_mock.objects.filter.return_value = [lang_pref_mock] update_session_lang(request, user) self.assertNotIn(LANGUAGE_SESSION_KEY, request.session)
def test_update_session_lang_invalid_user_preference(self): request = Mock() request.session = {LANGUAGE_SESSION_KEY: 'es'} user = Mock() with self.settings(DEFAULT_LANGUAGE='invented', LANGUAGES=(('es', 'Spanish'),)): with patch('wirecloud.platform.preferences.models.PlatformPreference') as platform_preference_mock: lang_pref_mock = Mock() lang_pref_mock.value = 'invalid' platform_preference_mock.objects.filter.return_value = [lang_pref_mock] update_session_lang(request, user) self.assertEqual(request.session[LANGUAGE_SESSION_KEY], 'invented')
def setup_language_from_preferences(sender, **kwargs): update_session_lang(kwargs['request'], kwargs['user'])