Animation-heavy personal portfolio on Next.js: a custom cursor, a page-transition loader, and canvas backgrounds.
canvas-animationscss-modulesdark-themehandcodednextjspersonal-websiteportfolioreact
1from django.test import TestCase
2from django.test.client import Client
3from django.core import mail
4
5import re
6import urllib2
7
8
9class DjangoIsaacTestCase(TestCase):
10 def setUp(self):
11 self.client = Client()
12 self.pages = ['/']
13
14 def test_pages(self):
15 for page in self.pages:
16 response = self.client.get(page)
17 self.assertEqual(response.status_code, 200)
18
19 def test_foreign_links(self):
20 for page in self.pages:
21 response = self.client.get(page)
22 links = re.findall('href=(?:\'|\")((?:http|https)\S*)(?:\'|\")',
23 response.content)
24 for link in links:
25 response = urllib2.urlopen(link)
26 self.assertEqual(response.code, 200)
27
28 def test_send_message(self):
29 self.assertEqual(len(mail.outbox), 0)
30
31 response = self.client.post('/', {'message': 'Message here!', 'human': ''})
32 self.assertEqual(len(mail.outbox), 1)
33 self.assertEqual(mail.outbox[0].subject, 'Pony From isaacbythewood.com')
34
35 response = self.client.post('/', {'message': 'Message here!', 'human': 'robot'})
36 self.assertEqual(len(mail.outbox), 1)
37
38 response = self.client.post('/', {'message': '', 'human': ''})
39 self.assertEqual(len(mail.outbox), 1)