def test_connection_grouping_no_language(self): """group_connections should handle empty languages without issue.""" connections = ( self.create_lang_connection('1000000000', 'en'), self.create_lang_connection('1000000001', ''), self.create_lang_connection('1000000002', 'en'), self.create_lang_connection('1000000003', ''), self.create_lang_connection('1000000004', ''), ) grouped_conns = list(trans_helpers.group_connections(connections)) for lang, conns in grouped_conns: if lang == 'en': self.assertEqual(2, len(conns)) elif lang == '': self.assertEqual(3, len(conns))
def test_connection_grouping_queryset(self): """Same test as above but with a QuerySet object.""" self.create_lang_connection('1000000000', 'en') self.create_lang_connection('1000000001', 'en') self.create_lang_connection('1000000002', 'en') self.create_lang_connection('1000000003', 'es') self.create_lang_connection('1000000004', 'es') self.create_lang_connection('1000000005', 'fr') connections = Connection.objects.all() grouped_conns = list(trans_helpers.group_connections(connections)) for lang, conns in grouped_conns: if lang == 'en': self.assertEqual(3, len(conns)) elif lang == 'es': self.assertEqual(2, len(conns)) elif lang == 'fr': self.assertEqual(1, len(conns))
def test_connection_grouping(self): """Make sure group_connections returns list of (lang, connections)""" connections = ( self.create_lang_connection('1000000000', 'en'), self.create_lang_connection('1000000001', 'en'), self.create_lang_connection('1000000002', 'en'), self.create_lang_connection('1000000003', 'es'), self.create_lang_connection('1000000004', 'es'), self.create_lang_connection('1000000005', 'fr'), ) grouped_conns = list(trans_helpers.group_connections(connections)) for lang, conns in grouped_conns: if lang == 'en': self.assertEqual(3, len(conns)) elif lang == 'es': self.assertEqual(2, len(conns)) elif lang == 'fr': self.assertEqual(1, len(conns))
def lang_broadcast(): connections = Connection.objects.all() for lang, conns in trans_helpers.group_connections(connections): with translation.override(lang): send(_('hello'), conns)