Ejemplo n.º 1
0
 def test_post_create_resource_on_activity_as_author(self):
     form_data = {
         'name': "A sample name",
         'description': "A short description",
         'type': ResourceType.FILE.name,
         'language': 'fr',
         'licence': Licences.CC_BY.name,
         'access': ResourceAccess.PUBLIC.name,
         'reuse': ResourceReuse.ONLY_AUTHOR.name,
         'duration': Duration.NOT_SPECIFIED.name,
         'tags': "A",
         "media": get_temporary_file()
     }
     response = ClientFactory.get_client_for_user("ws").post(
         reverse("learning:activity/detail/resource/add",
                 kwargs={'slug': self.ws_activity.slug}), form_data)
     self.assertRedirects(response,
                          status_code=302,
                          target_status_code=200,
                          expected_url=reverse(
                              "learning:activity/detail",
                              kwargs={'slug': self.ws_activity.slug}))
     resource = Resource.objects.get(slug="a-sample-name")
     self.assertIsNotNone(resource)
     self.assertEqual(1, resource.activities.count())
     self.assertIn(resource, self.ws_activity.resources.all())
     self.assertEqual(resource.author, self.ws)
Ejemplo n.º 2
0
 def test_delete_resource_also_delete_related_media(self):
     self.resource1.media.save("sample_update.txt",
                               get_temporary_file(),
                               save=True)
     self.resource1.save()
     self.assertIsNotNone(self.resource1.media.name)
     self.assertIn("sample_update", self.resource1.media.name)
     self.assertTrue(os.path.isfile(self.resource1.media.path))
     self.resource1.delete()
     self.assertFalse(os.path.isfile(self.resource1.media.path))
Ejemplo n.º 3
0
 def test_clean_media_size_equals_settings(self):
     self.resource1.media.save("sample_update.txt",
                               get_temporary_file(file_size=2**15),
                               save=True)
     self.resource1.save()
     self.assertIsNotNone(self.resource1.media.name)
     self.assertIn("sample_update", self.resource1.media.name)
     media_path = self.resource1.media.path
     self.assertTrue(os.path.isfile(media_path))
     self.resource1.clean()
Ejemplo n.º 4
0
 def test_clean_attachment_size_equals_default(self):
     self.resource1.attachment.save(
         "sample_update.txt", get_temporary_file(file_size=2 ** 20), save=True
     )
     self.resource1.save()
     self.assertIsNotNone(self.resource1.attachment.name)
     self.assertIn("sample_update", self.resource1.attachment.name)
     attachment_path = self.resource1.attachment.path
     self.assertTrue(os.path.isfile(attachment_path))
     self.resource1.clean()
Ejemplo n.º 5
0
 def test_clean_media_larger_than_in_settings(self):
     self.resource1.media.save("sample_update.txt",
                               get_temporary_file(file_size=2**16),
                               save=True)
     self.resource1.save()
     self.assertIsNotNone(self.resource1.media.name)
     self.assertIn("sample_update", self.resource1.media.name)
     media_path = self.resource1.media.path
     self.assertTrue(os.path.isfile(media_path))
     with self.assertRaises(ValidationError):
         self.resource1.clean()
Ejemplo n.º 6
0
 def test_clean_attachment_larger_than_default(self):
     self.resource1.attachment.save(
         "sample_update.txt", get_temporary_file(file_size=2 ** 21), save=True
     )
     self.resource1.save()
     self.assertIsNotNone(self.resource1.attachment.name)
     self.assertIn("sample_update", self.resource1.attachment.name)
     attachment_path = self.resource1.attachment.path
     self.assertTrue(os.path.isfile(attachment_path))
     with self.assertRaises(ValidationError):
         self.resource1.clean()
 def test_post_create_resource_on_activity_invalid_form(self):
     form_data = {
         'description': "A short description",
         'type': ResourceType.FILE.name,
         'language': 'fr',
         'licence': Licences.CC_BY.name,
         'access': ResourceAccess.PUBLIC.name,
         'reuse': ResourceReuse.NO_RESTRICTION.name,
         'duration': Duration.NOT_SPECIFIED.name,
         'tags': "A",
         "media": get_temporary_file(name="sample.txt")
     }
     response = ClientFactory.get_client_for_user("ws").post(
         reverse("learning:activity/detail/resource/add", kwargs={'slug': self.ws_activity.slug}), form_data
     )
     self.assertEqual(200, response.status_code)
     self.assertFalse(Resource.objects.filter(name="A sample name").exists())
     self.assertEqual(0, self.ws_activity.resources.count())
     self.assertEqual(1, len(response.context.get('form').errors.as_data()))
     self.assertEqual(0, self.ws_activity.resources.count())