def test_potr_proj_lang(self): path = os.path.join(PATH, 'data/django.po') proj_type = ProjectType.objects.create(name='django') proj_lang_2 = Language.objects.create(name='Russian', code='ru') proj_2 = Project.objects.create(name='Project1', project_type=proj_type, lang=proj_lang_2) potr_set_2 = Set.objects.create(name='initial', project=proj_2) ProjectLanguage.objects.create(lang=proj_lang_2, project=proj_2) for message in ['message1', 'message2', 'message3', 'message4']: SetMessage.objects.create( message_set=potr_set_2, lang=proj_lang_2, msgid=message[-3:], msgstr=message, is_translated=False ) SetList.objects.create( message_set=potr_set_2, msgid=message[-3:], msgstr=message) mes = get_message_list(self.project.id, self.project_language.id) self.assertEqual(len(mes), 4) mes = get_message_list(proj_2.id, proj_lang_2.id) self.assertEqual(len(mes), 4) import_po_file(path, self.project.id, self.project_language.id) self.assertEqual(SetMessage.objects.filter( message_set__project_id=self.project.id, lang__id=proj_lang_2.id).count(), 0)
def test_import_source_lang(self): mes = get_message_list(self.project.id, self.new_lang.id, src_filters={('msgid__contains', 'msgstr__contains'): 'messs'}) self.assertEqual(len(mes), 2) self.assertEqual(set(i['msg_id'] for i in mes), {'mes.ssage3', 'messs.age4'}) mes = get_message_list(self.project.id, self.project_language.id, src_filters={('msgid__contains', 'msgstr__contains'): 'messs'}) self.assertEqual(len(mes), 2) self.assertEqual(set(i['msg_id'] for i in mes), {'mes.ssage1', 'messs.age4'})
def test_save_new_meaning_new_set(self): last_set = Set.objects.all().order_by('-id')[0] message_to_edit = SetMessage.objects.get( message_set__project_id=self.project.id, msgid='message1', lang=self.project_language.id) new_value = 'message1 new' previous_set = message_to_edit.message_set last_set = self.project.set.order_by('-id')[0] response = save_new(message_to_edit.id, new_value) source_messages = SetMessage.objects.filter( message_set__project_id=self.project.id, msgid='message1', lang=self.project_language.id) self.assertEqual(source_messages.count(), 2) self.assertEqual(source_messages.order_by('-id')[1].message_set, previous_set) self.assertEqual(source_messages.order_by('-id')[0].message_set, last_set) target_messages = SetMessage.objects.filter( message_set__project_id=self.project.id, msgid='message1', lang=self.new_lang) self.assertEqual(target_messages.count(), 2) self.assertEqual(target_messages.order_by('-id')[1].message_set, previous_set) self.assertEqual(target_messages.order_by('-id')[0].message_set, last_set) message_list = get_message_list(self.project.id, self.project_language.id) for mes in message_list: if mes['msg_id'] == message_to_edit.msgid: self.assertEqual(mes['msg_source'], new_value) break self.assertTrue(False) message_to_edit = mes new_value = 'message1 new1' response = save_new(message_to_edit['id'], new_value) message_list = get_message_list(self.project.id, self.project_language.id) for mes in message_list: if mes['msg_id'] == message_to_edit['msg_id']: self.assertEqual(mes['msg_source'], new_value) break self.assertTrue(False) message_to_edit = mes new_value = 'message1 new2' response = save_new(message_to_edit['id'], new_value) message_list = get_message_list(self.project.id, self.project_language.id) for mes in message_list: if mes['msg_id'] == message_to_edit['msg_id']: self.assertEqual(mes['msg_source'], new_value) break self.assertTrue(False)
def test_change_value_after_import_in_one_project(self): path = os.path.join(PATH, 'data/mess.po') source_messages = SetMessage.objects.filter( msgstr='message1', lang=self.project_language.id) self.assertEqual(source_messages.count(), 2) import_po_file(path, self.project.id, self.project_language.id) import_po_file(path, self.new_project.id, self.project_language.id) source_messages = SetMessage.objects.filter( msgstr='title_title', lang=self.project_language.id) self.assertEqual(source_messages.count(), 2) message_to_edit = SetMessage.objects.get( message_set__project_id=self.project.id, msgid='1.Title', lang=self.project_language.id) #Check same meaning update new_value = 'message1 new' response = save_same(message_to_edit.id, new_value) source_messages = SetMessage.objects.filter( msgstr='message1 new', lang=self.project_language.id) self.assertEqual(source_messages.count(), 1) first_mes = get_message_list(self.project.id, self.project_language.id) second_mes = get_message_list(self.new_project.id, self.project_language.id) src_msg_list = {i['msg_id']: i['msg_source'] for i in first_mes} self.assertEqual(src_msg_list['1.Title'], 'message1 new') src_msg_list = {i['msg_id']: i['msg_source'] for i in second_mes} self.assertEqual(src_msg_list['1.Title'], 'title_title') #Check new meaning update new_value = 'message1 new2' response = save_new(message_to_edit.id, new_value) source_messages = SetMessage.objects.filter( msgstr='message1 new2', lang=self.project_language.id) self.assertEqual(source_messages.count(), 1) first_mes = get_message_list(self.project.id, self.project_language.id) second_mes = get_message_list(self.new_project.id, self.project_language.id) src_msg_list = {i['msg_id']: i['msg_source'] for i in first_mes} self.assertEqual(src_msg_list['1.Title'], 'message1 new2') src_msg_list = {i['msg_id']: i['msg_source'] for i in second_mes} self.assertEqual(src_msg_list['1.Title'], 'title_title')
def test_get_message_list(self): mes = get_message_list(self.project.id, self.project_language.id) self.assertEqual(len(mes), 4)
def test_get_message_list(self): mes = get_message_list(self.project.id, self.project_language.id) self.assertEqual(len(mes), 4) mes = get_message_list(self.project.id, self.new_lang.id) total_mes = sum(1 for row in mes if row['msg_target']) self.assertEqual(total_mes, 4)