Coverage for shps/tests.py: 98%
92 statements
« prev ^ index » next coverage.py v7.6.0, created at 2024-07-27 11:19 +0000
« prev ^ index » next coverage.py v7.6.0, created at 2024-07-27 11:19 +0000
1from django.apps import apps
2from django.contrib.auth.models import User
3from django.test import Client, TestCase
4from django.urls import reverse
7MODELS = list(apps.all_models["shps"].values())
9client = Client()
10USER = {"username": "testuser", "password": "somepassword"}
13class ArchivTestCase(TestCase):
14 fixtures = ["dump.json"]
16 def setUp(self):
17 # Create two users
18 User.objects.create_user(**USER)
20 def test_002_listviews(self):
21 for x in MODELS:
22 try:
23 url = x.get_listview_url()
24 except AttributeError:
25 url = False
26 if url:
27 response = client.get(url)
28 self.assertEqual(response.status_code, 200)
29 client.login(**USER)
30 for x in MODELS:
31 try:
32 url = x.get_listview_url()
33 except AttributeError:
34 url = False
35 if url:
36 response = client.get(url)
37 self.assertEqual(response.status_code, 200)
39 def test_003_detailviews(self):
40 for x in MODELS:
41 item = x.objects.first()
42 try:
43 url = item.get_absolute_url()
44 except AttributeError:
45 url = False
46 if url:
47 response = client.get(url, {"pk": item.id})
48 self.assertEqual(response.status_code, 200)
50 def test_004_editviews(self):
51 client.login(**USER)
52 for x in MODELS:
53 item = x.objects.first()
54 try:
55 url = item.get_edit_url()
56 except AttributeError:
57 url = False
58 if url:
59 response = client.get(url, {"pk": item.id})
60 self.assertEqual(response.status_code, 200)
62 def test_005_createviews_not_logged_in(self):
63 for x in MODELS:
64 item = x.objects.first()
65 try:
66 url = item.get_createview_url()
67 except AttributeError:
68 url = False
69 if url:
70 response = client.get(url, {"pk": item.id})
71 self.assertEqual(response.status_code, 302)
73 def test_006_createviews_logged_in(self):
74 client.login(**USER)
75 for x in MODELS:
76 item = x.objects.first()
77 try:
78 url = item.get_createview_url()
79 except AttributeError:
80 url = False
81 if url:
82 response = client.get(url, {"pk": item.id})
83 self.assertEqual(response.status_code, 200)
85 def test_007_where_was(self):
86 url = reverse("where_was_api")
87 r = client.get(url)
88 self.assertFalse(r.json()["features"])
90 params = {"lat": "48.36", "lng": "14.3"}
91 r = client.get(url, params)
92 self.assertTrue(r.json()["features"])
94 params = {"lat": "48.36", "lng": "14.3", "when": "1870-01-01"}
95 r = client.get(url, params)
96 self.assertTrue(r.json()["features"])
98 params = {"lat": "48.36", "lng": "14.3", "when": "187110-01-01"}
99 r = client.get(url, params)
100 self.assertTrue(r.json()["features"])
102 def test_008_shps_api_filters(self):
103 url = "/api/tempspatial/"
104 params = {
105 "name": "Linz",
106 }
107 r = client.get(url)
108 all_shapes = r.json()["count"]
109 r = client.get(url, params)
110 some_shapes = r.json()["count"]
111 self.assertTrue(all_shapes > some_shapes)