Esempio n. 1
0
    def test_valid_post_request(self):
        new_text = "Hello world!!"
        translated_text = TranslatedTextFactory()
        response = self.client.post(self.url, data={"trans_text": new_text, "cms_id": translated_text.id})

        self.assertRedirects(response, reverse("learning_unit_summary", args=[self.learning_unit_year.id]))
        translated_text.refresh_from_db()
        self.assertEqual(translated_text.text, new_text)
Esempio n. 2
0
class TestEditEducationGroupAchievementAdditionalInformation(
        TestEducationGroupAchievementCMSSetup):
    def setUp(self):
        super().setUp()

        self.url = reverse(
            "education_group_achievement_additional_information",
            args=[
                self.education_group_year.pk,
                self.education_group_year.pk,
            ])

        self.text_label = TextLabelFactory(
            label=CMS_LABEL_ADDITIONAL_INFORMATION,
            entity=entity_name.OFFER_YEAR)
        self.program_aim_french = TranslatedTextFactory(
            text_label=self.text_label,
            language=LANGUAGE_CODE_FR,
            entity=entity_name.OFFER_YEAR,
            reference=self.education_group_year.pk,
            text="dummy text")

    def test_update_achievement_program_aim(self):
        """This test ensure that the french version is updated and the english version is created"""
        data = {
            "text_french": 'dummy text in french',
            "text_english": 'dummy text in english'
        }

        response = self.client.post(self.url, data=data)

        self.assertEqual(response.status_code, 302)
        self.program_aim_french.refresh_from_db()
        # Update french version
        self.assertEqual(self.program_aim_french.text, data['text_french'])
        # Create english version
        self.assertTrue(
            TranslatedText.objects.filter(
                text_label=self.text_label,
                reference=self.education_group_year.pk,
                language=LANGUAGE_CODE_EN,
                entity=entity_name.OFFER_YEAR,
                text=data['text_english']).exists())

    def test_update_without_permission(self):
        self.user.user_permissions.remove(
            Permission.objects.get(
                codename="change_educationgroupachievement"))
        response = self.client.post(self.url,
                                    data={'french_text': 'Evil hacker'})
        self.assertEqual(response.status_code, 403)

    def test_update_when_user_not_logged(self):
        self.client.logout()
        response = self.client.post(self.url,
                                    data={'french_text': 'Evil hacker'})
        self.assertEqual(response.status_code, 302)
        self.assertRedirects(response, "/login/?next={}".format(self.url))