2012-05-10 03:04:40 +00:00
|
|
|
from django.test import TestCase
|
|
|
|
|
from django.test.client import Client
|
|
|
|
|
from django.core.urlresolvers import reverse
|
|
|
|
|
|
|
|
|
|
|
2012-05-12 00:15:01 +00:00
|
|
|
# pylint: disable-msg=E1103
|
|
|
|
|
# pylint: disable-msg=R0904
|
|
|
|
|
|
|
|
|
|
|
2012-05-12 00:27:02 +00:00
|
|
|
class RecentPinsTest(TestCase):
|
2012-05-10 03:04:40 +00:00
|
|
|
def setUp(self):
|
|
|
|
|
self.client = Client()
|
|
|
|
|
self.url = reverse('pins:recent-pins')
|
|
|
|
|
|
|
|
|
|
def test_url(self):
|
|
|
|
|
self.assertEqual(self.url, '/pins/')
|
|
|
|
|
|
|
|
|
|
def test_status_code(self):
|
|
|
|
|
response = self.client.get(self.url)
|
2012-05-12 00:15:01 +00:00
|
|
|
self.assertEqual(response.status_code, 200)
|
2012-05-10 03:04:40 +00:00
|
|
|
|
|
|
|
|
|
2012-05-12 00:15:01 +00:00
|
|
|
class NewPinTest(TestCase):
|
2012-05-10 03:04:40 +00:00
|
|
|
def setUp(self):
|
|
|
|
|
self.client = Client()
|
|
|
|
|
self.url = reverse('pins:new-pin')
|
|
|
|
|
|
|
|
|
|
def test_url(self):
|
|
|
|
|
self.assertEqual(self.url, '/pins/new-pin/')
|
|
|
|
|
|
|
|
|
|
def test_status_code(self):
|
|
|
|
|
response = self.client.get(self.url)
|
2012-05-12 00:15:01 +00:00
|
|
|
self.assertEqual(response.status_code, 200)
|
2012-05-10 03:04:40 +00:00
|
|
|
|
|
|
|
|
def test_new_pin(self):
|
|
|
|
|
response = self.client.post(self.url, {
|
2012-05-12 00:09:13 +00:00
|
|
|
'url': 'https://github.com/overshard/pinry/raw/master/'
|
|
|
|
|
'screenshot.png',
|
2012-05-10 03:04:40 +00:00
|
|
|
})
|
2012-05-12 00:15:01 +00:00
|
|
|
self.assertEqual(response.status_code, 302)
|
|
|
|
|
|
|
|
|
|
def test_new_pin_invalid_protocol(self):
|
2012-05-10 03:04:40 +00:00
|
|
|
response = self.client.post(self.url, {
|
2012-05-12 00:15:01 +00:00
|
|
|
'url': 'ftp://github.com/overshard/pinry/raw/master/'
|
|
|
|
|
'screenshot.png',
|
2012-05-10 03:04:40 +00:00
|
|
|
})
|
2012-05-12 00:15:01 +00:00
|
|
|
self.assertEqual(response.status_code, 200)
|
2012-05-10 03:04:40 +00:00
|
|
|
|
2012-05-12 00:15:01 +00:00
|
|
|
def test_new_pin_invalid_file_type(self):
|
2012-05-10 03:04:40 +00:00
|
|
|
response = self.client.post(self.url, {
|
|
|
|
|
'url': 'https://raw.github.com/overshard/pinry/master/README.md',
|
|
|
|
|
})
|
2012-05-12 00:15:01 +00:00
|
|
|
self.assertEqual(response.status_code, 200)
|
2012-05-10 03:04:40 +00:00
|
|
|
|
2012-05-12 00:15:01 +00:00
|
|
|
def test_new_pin_already_pinned(self):
|
2012-05-10 03:04:40 +00:00
|
|
|
response = self.client.post(self.url, {
|
2012-05-12 00:09:13 +00:00
|
|
|
'url': 'http://github.com/overshard/pinry/raw/master/'
|
|
|
|
|
'screenshot.png',
|
2012-05-10 03:04:40 +00:00
|
|
|
})
|
|
|
|
|
response = self.client.post(self.url, {
|
2012-05-12 00:09:13 +00:00
|
|
|
'url': 'https://github.com/overshard/pinry/raw/master/'
|
|
|
|
|
'screenshot.png',
|
2012-05-10 03:04:40 +00:00
|
|
|
})
|
2012-05-12 00:15:01 +00:00
|
|
|
self.assertEqual(response.status_code, 200)
|