2
0
mirror of https://expo.survex.com/repositories/troggle/.git synced 2026-02-08 12:27:35 +00:00

Now 99 tests

This commit is contained in:
2023-03-03 15:15:17 +00:00
parent 1cb81cbb09
commit 6ab7a340e2
3 changed files with 131 additions and 4 deletions

View File

@@ -21,6 +21,7 @@ https://docs.djangoproject.com/en/dev/topics/testing/tools/
import re
import subprocess
import unittest
from http import HTTPStatus
from django.test import Client, SimpleTestCase, TestCase
@@ -99,4 +100,28 @@ class ImportTest(TestCase):
for e in expected:
self.assertIn(e, messages)
for e in not_expected:
self.assertNotIn(e, messages)
self.assertNotIn(e, messages)
def test_aliases(self):
# Needs another test with test data
response = self.client.get(f"/aliases/{TEST_YEAR}")
self.assertEqual(response.status_code, HTTPStatus.OK)
content = response.content.decode()
with open('_test_response.html', 'w') as f:
f.write(content)
ph = f"'fsmartarse'"
phmatch = re.search(ph, content)
self.assertIsNotNone(phmatch, "Failed to find expected text: '" + ph + "'")
def test_people(self):
# Needs another test with test data
response = self.client.get("/people")
self.assertEqual(response.status_code, HTTPStatus.OK)
content = response.content.decode()
with open('_test_response.html', 'w') as f:
f.write(content)
ph = f"<td><a href=\"/personexpedition/FredSmartarse/{TEST_YEAR}\">{TEST_YEAR}</a></td>"
phmatch = re.search(ph, content)
self.assertIsNotNone(phmatch, "Failed to find expected text: '" + ph + "'")

View File

@@ -476,6 +476,71 @@ class PageTests(TestCase):
self.assertIsNotNone(phmatch, "Failed to find expected text: '" + ph + "'")
def test_statistics(self):
response = self.client.get("/statistics")
self.assertEqual(response.status_code, HTTPStatus.OK)
content = response.content.decode()
ph = r"0 expeditions: 0 people, 0 caves and 0 logbook entries."
phmatch = re.search(ph, content)
self.assertIsNotNone(phmatch, "Failed to find expected text: '" + ph + "'")
def test_stats(self):
# Needs another test with test data
response = self.client.get("/stats")
self.assertEqual(response.status_code, HTTPStatus.OK)
content = response.content.decode()
ph = r"Total length: 0.0 km adding up the total for each year."
phmatch = re.search(ph, content)
self.assertIsNotNone(phmatch, "Failed to find expected text: '" + ph + "'")
def test_dataissues(self):
# Needs another test with test data
response = self.client.get("/dataissues")
self.assertEqual(response.status_code, HTTPStatus.OK)
content = response.content.decode()
ph = r"as well as these import/parsing issues"
phmatch = re.search(ph, content)
self.assertIsNotNone(phmatch, "Failed to find expected text: '" + ph + "'")
def test_therionissues(self):
# Needs another test with test data
response = self.client.get("/therionissues")
self.assertEqual(response.status_code, HTTPStatus.OK)
content = response.content.decode()
ph = r"! Un-parsed image filename"
phmatch = re.search(ph, content)
self.assertIsNotNone(phmatch, "Failed to find expected text: '" + ph + "'")
def test_surveximport(self):
# Needs another test with test data
response = self.client.get("/surveximport")
self.assertEqual(response.status_code, HTTPStatus.OK)
content = response.content.decode()
# with open('_test_response.html', 'w') as f:
# f.write(content)
ph = r"The number at the left-hand margin is the depth"
phmatch = re.search(ph, content)
self.assertIsNotNone(phmatch, "Failed to find expected text: '" + ph + "'")
def test_survexdebug(self):
# Needs another test with test data
response = self.client.get("/survexdebug")
self.assertEqual(response.status_code, HTTPStatus.OK)
content = response.content.decode()
ph = r"Running list of warnings during import"
phmatch = re.search(ph, content)
self.assertIsNotNone(phmatch, "Failed to find expected text: '" + ph + "'")
def test_eastings(self):
# Needs another test with test data
response = self.client.get("/eastings")
self.assertEqual(response.status_code, HTTPStatus.OK)
content = response.content.decode()
ph = r"<tr><th>Survex Station</th><th>x</th><th>y</th></tr>"
phmatch = re.search(ph, content)
self.assertIsNotNone(phmatch, "Failed to find expected text: '" + ph + "'")
# ADD TESTS when we are redirecting /expofiles/ to get the actual files using e.g.
# import requests
# page = requests.get("http://dataquestio.github.io/web-scraping-pages/simple.html")