def test_post_anuncio_normal(self): """Envía dos imágenes en un anuncio.""" image_path = os.path.join(os.path.dirname(__file__), 'image.jpg') form_data = { 'management_form': self.response.context['formset'].management_form, 'form-TOTAL_FORMS': '5', 'form-INITIAL_FORMS': '0', 'form-MAX_NUM_FORMS': '5', 'form-0-image': simple_uploaded_file(image_path), 'form-1-image': simple_uploaded_file(image_path), 'form-2-image': '', 'form-3-image': '', 'form-4-image': '', 'form-0-description': '', 'form-1-description': '', 'form-2-description': '', 'form-3-description': '', 'form-4-description': '', } response = self.client.post(self.urlconf, data=form_data) expected_url = reverse('gallery:anuncio_gallery_list', kwargs={'id_anuncio': self.anuncio.pk}) self.assertRedirects(response=response, expected_url=expected_url, status_code=302, target_status_code=200) # Ahora, mostrara solo 3 forms. """Envía dos imágenes en un anuncio.""" form_data = { 'management_form': self.response.context['formset'].management_form, 'form-TOTAL_FORMS': '3', 'form-INITIAL_FORMS': '0', 'form-MAX_NUM_FORMS': '3', 'form-0-image': simple_uploaded_file(image_path), 'form-1-image': simple_uploaded_file(image_path), 'form-2-image': '' } response = self.client.post(self.urlconf, data=form_data) expected_url = reverse('gallery:anuncio_gallery_list', kwargs={'id_anuncio': self.anuncio.pk}) self.assertRedirects(response=response, expected_url=expected_url, status_code=302, target_status_code=200)
def setUp(self): super().setUp() self.tag_data = { 'title': 'Test Tag 3', 'thumbnail': images.simple_uploaded_file(image_path) } self.tag = self.tag_model.objects.create(**self.tag_data)
def setUp(self): super().setUp() self.image_path = os.path.join(os.path.dirname(__file__), 'image_for_model.jpg') self.anuncio = self.anuncio_model.objects.get(pk=1) self.image_obj = self.image_model() self.image_obj.anuncio = self.anuncio self.image_obj.image = simple_uploaded_file(self.image_path) self.image_obj.save()
def setUp(self): super().setUp() self.username = '******' self.password = '******' self.email = '*****@*****.**' self.user = UserModel.objects.create_user(username=self.username, password=self.password, email=self.email) self.image_avatar = simple_uploaded_file(image_path)
def test_cambia_imagen_elimina_la_antigua(self): """Cuando se cambia una imagen, se elimina del disco la anterior. """ self.image_path = os.path.join(os.path.dirname(__file__), 'image_for_model2.jpg') image_path = self.image_obj.image.path self.image_obj.image = simple_uploaded_file(self.image_path) self.image_obj.save() self.assertNotEqual(image_path, self.image_obj.image.path) self.assertFalse(os.path.exists(image_path))
def setUp(self): super().setUp() self.image_path = os.path.join(os.path.dirname(__file__), 'image.jpg') self.anuncio = self.anuncio_model.objects.get(pk=1) self.image_obj = self.image_model() self.image_obj.anuncio = self.anuncio self.image_obj.image = simple_uploaded_file(self.image_path) self.image_obj.save() self.url = 'gallery:image_anuncio_delete' self.urlconf = reverse(self.url, kwargs={'pk': self.image_obj.pk}) self.login() self.response = self.client.get(self.urlconf)
def setUp(self): super().setUp() self.tags = self.tag_model.objects.all() self.article_data = { "owner": self.user, "default_tag": self.tags[0], "title": "Test Article 100", "image_header": images.simple_uploaded_file(image_path), "body": "Test Article" } article = self.article_model.objects.create(**self.article_data) article.tags = self.tags article.save() self.article = article
def test_eliminar_message_elimina_imagen(self): """Al eliminar un mensaje, eliminara la imagen.""" image_path = os.path.join(os.path.dirname(__file__), 'avatar.jpg') self.data['screenshot'] = simple_uploaded_file(image_path) message = self.contact_model.objects.create(**self.data) message_image_path = message.screenshot.path self.assertTrue(message_image_path) self.assertTrue(os.path.exists(message_image_path)) # Eliminar el mensaje eliminara la imagen. message.delete() self.assertFalse(os.path.exists(message_image_path))
def test_image_resize_anuncio_premium(self): """Las dimensiones son mas grandes en un anuncio Premium.""" self.anuncio.is_premium = True self.anuncio.save() image_obj = self.image_model() image_obj.anuncio = self.anuncio image_obj.image = simple_uploaded_file(self.image_path) image_obj.save() self.assertEqual(image_obj.image.width, 1000) self.assertEqual(image_obj.image.height, 625) # Eliminar obj para que elimine las imágenes. image_obj.delete()
def setUp(self): super().setUp() self.tags = self.tag_model.objects.all() self.article_data = { "owner": self.user, "default_tag": self.tags[0], "title": "Test Article 100", "image_header": images.simple_uploaded_file(image_path), "body": "Test Article" } article = self.article_model.objects.create(**self.article_data) for tag in self.tags: article.tags.add(tag) article.save() self.article = article
def test_queryset(self): """Mostrara solo las imágenes que pertenece al anuncio.""" # Es necesario añadir una imagen en otro anuncio. image_path = os.path.join(os.path.dirname(__file__), 'image.jpg') image_obj = self.image_model() image_obj.anuncio = self.anuncio_model.objects.get(pk=1) image_obj.image = simple_uploaded_file(image_path) image_obj.save() # Total de imágenes 8, 7 de fixtures y el creado. self.assertEqual(self.image_model.objects.count(), 8) # El anuncio tiene 7 imágenes. self.assertEqual(self.response.context['image_list'].count(), 7) image_obj.delete()
def test_image_header(self): """Al cambiar una imagen, la antigua se elimina.""" old_image_path = self.article.image_header.path self.assertTrue(os.path.exists(old_image_path)) self.article.image_header = images.simple_uploaded_file(image_path) self.article.save() article = self.article_model.objects.get(pk=self.article.pk) new_image_path = article.image_header.path self.assertNotEqual(new_image_path, old_image_path) self.assertFalse(os.path.exists(old_image_path)) self.assertTrue(os.path.exists(new_image_path)) # Eliminar la nueva imagen si existe. if os.path.exists(new_image_path): os.remove(new_image_path)
def test_get_form(self): """Si el anuncio no es premium y no tiene imágenes, formset tendrá 5 imágenes para poner. Si mas tarde se añade 1 imagen, solo mostrara 4. """ # Añadir una imagen al anuncio. image_path = os.path.join(os.path.dirname(__file__), 'image.jpg') image_obj = self.image_model() image_obj.anuncio = self.anuncio_model.objects.get(pk=1) image_obj.image = simple_uploaded_file(image_path) image_obj.save() response = self.client.get(self.urlconf) formset = response.context['formset'] # formset tiene 4 elementos self.assertEqual(len(formset), 4)
def test_post(self): image_path = os.path.join(os.path.dirname(__file__), 'image.jpg') form_data = { 'image': simple_uploaded_file(image_path), 'anuncio': self.anuncio.pk } old_image = self.image.image.name response = self.client.post(self.urlconf, data=form_data, follow=True) expected_url = reverse('gallery:anuncio_gallery_list', kwargs={'id_anuncio': self.anuncio.pk}) self.assertRedirects(response=response, expected_url=expected_url, status_code=302, target_status_code=200) # El nombre de la imagen a cambiado. image = self.image_model.objects.get(pk=1) self.assertNotEqual(old_image, image.image.name)
def setUp(self): super().setUp() self.image_path = os.path.join(os.path.dirname(__file__), 'image.jpg') self.form = ImageAnuncioForm( {'anuncio': '1'}, {'image': simple_uploaded_file(self.image_path)}, {'description': ''})