diff --git a/tests/__init__.py b/tests/__init__.py index 1b8d62f..fb9ff31 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -9,7 +9,7 @@ class TestClient: def get(self, path, JS=True): file_path = self.build_path(path) content = "".join(open(file_path).readlines()) - if path.endswith('html'): + if file_path.endswith('html'): content = BeautifulSoup(content, 'html.parser') if JS: for script in content(["noscript"]): # Remove noscript tags @@ -19,6 +19,8 @@ class TestClient: def build_path(self, path): if path.startswith('/'): path = path[1:] + if path.endswith('/'): + path += 'index.html' return os.path.join(self.output_path, path) def exists(self, path): diff --git a/tests/tests_common.py b/tests/tests_common.py index b935074..2713db2 100644 --- a/tests/tests_common.py +++ b/tests/tests_common.py @@ -96,5 +96,11 @@ class TestClientTestCase(TestCase): def test_file_exists(self): self.assertTrue(self.client.exists('index.html')) + def test_build_path_without_index(self): + self.assertEqual( + self.client.build_path('foo/'), + self.client.build_path('foo/index.html') + ) + def test_file_doesnt_exist(self): self.assertFalse(self.client.exists('foo.bar')) diff --git a/tests/tests_pages.py b/tests/tests_pages.py index 0838656..a54d339 100644 --- a/tests/tests_pages.py +++ b/tests/tests_pages.py @@ -70,6 +70,20 @@ class AboutPageTestCase(TestCase): self.assertIn(self.get_children(account.find('h3')), site_names) +class ContactPageTestCase(TestCase): + def test_title(self): + content = self.client.get('contact/') + self.assertHeaderTitle(content, 'Contact Me') + self.assertTitle(content, 'Contact Me') + + def test_contact_links(self): + content = self.client.get('contact/') + links = content.find_all('section')[2].find_all('a') + self.assertEqual(links[1].attrs['href'], settings.ACCOUNTS['twitter']['url']) + decoded_value = ''.join([chr(int(c)) for c in links[0].attrs['data-value'].split(' ')]) + self.assertEqual(decoded_value, settings.CONTACT_EMAIL) + + class Page404TestCase(TestCase): def test_title(self): content = self.client.get('.404.html')