summaryrefslogtreecommitdiffstats
path: root/core/TESTS/tests.py
diff options
context:
space:
mode:
authorPhilip Sargent <philip.sargent@klebos.com>2020-07-19 01:23:07 +0100
committerPhilip Sargent <philip.sargent@klebos.com>2020-07-19 01:23:07 +0100
commiteb923af44ffc9046349c5b523a3e443b930a847a (patch)
treefb497376e4314da6f7ac2530532763df87609275 /core/TESTS/tests.py
parentedd5a3efd901df68243372f46087d96d4fbf7715 (diff)
downloadtroggle-eb923af44ffc9046349c5b523a3e443b930a847a.tar.gz
troggle-eb923af44ffc9046349c5b523a3e443b930a847a.tar.bz2
troggle-eb923af44ffc9046349c5b523a3e443b930a847a.zip
webpage tests created (no database)
Diffstat (limited to 'core/TESTS/tests.py')
-rw-r--r--core/TESTS/tests.py69
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.