예제 #1
0
    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)
예제 #2
0
 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)
예제 #3
0
 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)
예제 #4
0
 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()
예제 #5
0
 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)
예제 #6
0
    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))
예제 #7
0
 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)
예제 #8
0
 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
예제 #9
0
    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))
예제 #10
0
    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()
예제 #11
0
 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
예제 #12
0
    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()
예제 #13
0
    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)
예제 #14
0
    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)
예제 #15
0
    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)
예제 #16
0
    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)
예제 #17
0
 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': ''})