示例#1
0
    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)
示例#2
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'})
示例#3
0
    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)
示例#4
0
    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')
示例#5
0
 def test_get_message_list(self):
     mes = get_message_list(self.project.id, self.project_language.id)
     self.assertEqual(len(mes), 4)
示例#6
0
 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)