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)
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))