diff options
author | Philip Sargent <philip.sargent@klebos.com> | 2020-07-19 01:23:07 +0100 |
---|---|---|
committer | Philip Sargent <philip.sargent@klebos.com> | 2020-07-19 01:23:07 +0100 |
commit | eb923af44ffc9046349c5b523a3e443b930a847a (patch) | |
tree | fb497376e4314da6f7ac2530532763df87609275 /core | |
parent | edd5a3efd901df68243372f46087d96d4fbf7715 (diff) | |
download | troggle-eb923af44ffc9046349c5b523a3e443b930a847a.tar.gz troggle-eb923af44ffc9046349c5b523a3e443b930a847a.tar.bz2 troggle-eb923af44ffc9046349c5b523a3e443b930a847a.zip |
webpage tests created (no database)
Diffstat (limited to 'core')
-rw-r--r-- | core/TESTS/tests.py | 69 |
1 files changed, 67 insertions, 2 deletions
diff --git a/core/TESTS/tests.py b/core/TESTS/tests.py index a433e02..a0517db 100644 --- a/core/TESTS/tests.py +++ b/core/TESTS/tests.py @@ -10,8 +10,9 @@ https://docs.python.org/3.8/library/doctest.html https://docs.djangoproject.com/en/3.0/topics/testing/tools/ """ - -from django.test import TestCase, SimpleTestCase +import unittest +import re +from django.test import TestCase, SimpleTestCase, Client class SimpleTest(SimpleTestCase): def test_basic_addition(self): @@ -53,6 +54,8 @@ class SimpleTest(SimpleTestCase): from troggle.core.models_caves import CaveSlug, Cave, CaveAndEntrance, QM, CaveDescription, EntranceSlug, Entrance, Area, SurvexStation from troggle.core.forms import CaveForm, CaveAndEntranceFormSet, VersionControlCommentForm, EntranceForm, EntranceLetterForm from troggle.helper import login_required_if_public + from django.contrib.auth.decorators import login_required + from django.conf import settings def test_import_parses_mix(self): from troggle.parsers.logbooks import GetCaveLookup import troggle.settings @@ -71,6 +74,68 @@ class SimpleTest(SimpleTestCase): from django.http import HttpResponse from django.urls import reverse +#class SimplePageTest(unittest.TestCase): +class PageTests(TestCase): + @classmethod + def setUpTestData(cls): + # Set up data for the whole TestCase + #cls.foo = Foo.objects.create(bar="Test") + # Some test using self.foo in tests below.. + # read in some SQL ? + pass + + def setUp(self): + # Every test needs a client. + self.client = Client() + + def test_page_admin(self): + # Issue a GET request. + response = self.client.get('/admin/login/') + content = response.content.decode() + self.assertEqual(response.status_code, 200) + h1 = re.search(r'<h1 id="site-name">Troggle administration</h1>', content) + + def test_page_folk(self): + # This page is separately generated, so it has the full data content + response = self.client.get('/folk/') + content = response.content.decode() + self.assertEqual(response.status_code, 200) + # Check that the rendered context has the correct title + phrase = re.search(r'active contribution to the expedition', content) + phrase = re.search(r'Naomi Griffiths', content) + phrase = re.search(r'Gail Smith', content) + phrase = re.search(r'Phil Wigglesworth', content) + phrase = re.search(r'A more obscure record of longest gap between expos has', content) + + def test_page_expofile(self): + # Flat file tests. + response = self.client.get('/expofiles/documents/surveying/tunnel-loefflerCP35-only.pdf') + self.assertEqual(response.status_code, 200) + self.assertEqual(len(response.content), 2299270) + response = self.client.get('/expofiles/writeups/1982/logbook1982.pdf') + self.assertEqual(response.status_code, 200) + self.assertEqual(len(response.content), 12915413) + + + def test_page_ss(self): + # this gets an empty page as the database has not been loaded + response = self.client.get('/survey_scans/') + self.assertEqual(response.status_code, 200) + + #response = self.client.get('/survey_scans/1991surveybook/page0002.png') + #response = self.client.get('/survey_scans/1991surveybook/') + #content = response.content.decode() + #print(content) + #png93 = re.search(r'/page0093.png">page0093.png</a></td>', content) + + + def test_page_tunnel(self): + # this fails as the database has not been loaded so there is no Tunnel file + #response = self.client.get('/tunneldataraw/107/107sketch-v2.xml') + response = self.client.get('/tunneldataraw/') + self.assertEqual(response.status_code, 200) + + __test__ = {"doctest": """ Another way to test that 1 + 1 is equal to 2. |