2013-03-03 10:09:33 -08:00
|
|
|
from django.conf import settings
|
|
|
|
|
from django.core.urlresolvers import reverse
|
|
|
|
|
from django.template import TemplateDoesNotExist
|
|
|
|
|
from django.test import TestCase
|
|
|
|
|
|
2013-03-04 12:03:58 -08:00
|
|
|
from .api import UserFactory
|
2013-03-03 10:09:33 -08:00
|
|
|
from ...core.models import Image
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
__all__ = ['CreateImageTest']
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class CreateImageTest(TestCase):
|
|
|
|
|
def setUp(self):
|
2013-03-04 12:03:58 -08:00
|
|
|
self.user = UserFactory(password='password')
|
|
|
|
|
self.client.login(username=self.user.username, password='password')
|
2013-03-03 10:09:33 -08:00
|
|
|
|
|
|
|
|
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):
|
2013-03-05 01:32:57 -08:00
|
|
|
with open(settings.SITE_ROOT + 'logo.png', mode='rb') as image:
|
2013-03-03 10:09:33 -08:00
|
|
|
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.']}
|
|
|
|
|
})
|