Files
Pinry/core/tests/views.py
2018-02-08 22:44:55 -05:00

37 lines
1.3 KiB
Python

from django.conf import settings
from django.core.urlresolvers import reverse
from django.template import TemplateDoesNotExist
from django.test import TestCase
from .api import UserFactory
from core.models import Image
__all__ = ['CreateImageTest']
class CreateImageTest(TestCase):
def setUp(self):
self.user = UserFactory(password='password')
self.client.login(username=self.user.username, password='password')
def test_get_browser(self):
response = self.client.get(reverse('core:create-image'))
self.assertRedirects(response, reverse('core:recent-pins'))
def test_get_xml_http_request(self):
with self.assertRaises(TemplateDoesNotExist):
self.client.get(reverse('core:create-image'), HTTP_X_REQUESTED_WITH='XMLHttpRequest')
def test_post(self):
with open(settings.SITE_ROOT + 'logo.png', mode='rb') as image:
response = self.client.post(reverse('core:create-image'), {'qqfile': image})
image = Image.objects.latest('pk')
self.assertJSONEqual(response.content, {'success': {'id': image.pk}})
def test_post_error(self):
response = self.client.post(reverse('core:create-image'), {'qqfile': None})
self.assertJSONEqual(response.content, {
'error': {'image': ['This field is required.']}
})