|
3 | 3 |
|
4 | 4 | from django.test import TestCase |
5 | 5 | from django.urls import reverse |
| 6 | +from web.models import LookupData |
6 | 7 |
|
7 | 8 |
|
8 | 9 | class TestViews(TestCase): |
@@ -301,4 +302,58 @@ def test_concepts_view_legacy_params(self): |
301 | 302 | self.assertEqual(response.status_code, HTTPStatus.OK) |
302 | 303 | self.assertTemplateUsed(response, 'concepts.html') |
303 | 304 |
|
| 305 | + def test_concepts_view_logging(self): |
| 306 | + """test if the concepts view correctly logs to the database""" |
| 307 | + # test single language |
| 308 | + url = reverse('index') + '?concept=data_types&lang=python%3B3' |
| 309 | + self.client.get(url) |
| 310 | + lookup = LookupData.objects.last() |
| 311 | + self.assertEqual(lookup.language1, 'python') |
| 312 | + self.assertEqual(lookup.version1, '3') |
| 313 | + self.assertEqual(lookup.language2, '') |
| 314 | + self.assertEqual(lookup.version2, '') |
| 315 | + self.assertEqual(lookup.structure, 'data_types') |
| 316 | + |
| 317 | + # test two languages |
| 318 | + url = reverse('index') + '?concept=data_types&lang=python%3B3&lang=javascript%3BECMAScript%202023' |
| 319 | + self.client.get(url) |
| 320 | + lookup = LookupData.objects.last() |
| 321 | + self.assertEqual(lookup.language1, 'python') |
| 322 | + self.assertEqual(lookup.version1, '3') |
| 323 | + self.assertEqual(lookup.language2, 'javascript') |
| 324 | + self.assertEqual(lookup.version2, 'ECMAScript 2023') |
| 325 | + self.assertEqual(lookup.structure, 'data_types') |
| 326 | + |
| 327 | + def test_api_logging(self): |
| 328 | + """test if the API calls correctly log to the database""" |
| 329 | + # test api_reference |
| 330 | + url = reverse('api.reference', kwargs={ |
| 331 | + 'structure_key': 'data_types', |
| 332 | + 'lang': 'python', |
| 333 | + 'version': '3' |
| 334 | + }) |
| 335 | + self.client.get(url) |
| 336 | + lookup = LookupData.objects.last() |
| 337 | + self.assertEqual(lookup.language1, 'python') |
| 338 | + self.assertEqual(lookup.version1, '3') |
| 339 | + self.assertEqual(lookup.language2, '') |
| 340 | + self.assertEqual(lookup.version2, '') |
| 341 | + self.assertEqual(lookup.structure, 'data_types') |
| 342 | + |
| 343 | + # test api_compare |
| 344 | + url = reverse('api.compare', kwargs={ |
| 345 | + 'structure_key': 'data_types', |
| 346 | + 'lang1': 'python', |
| 347 | + 'version1': '3', |
| 348 | + 'lang2': 'javascript', |
| 349 | + 'version2': 'ECMAScript 2009' |
| 350 | + }) |
| 351 | + self.client.get(url) |
| 352 | + lookup = LookupData.objects.last() |
| 353 | + self.assertEqual(lookup.language1, 'python') |
| 354 | + self.assertEqual(lookup.version1, '3') |
| 355 | + self.assertEqual(lookup.language2, 'javascript') |
| 356 | + self.assertEqual(lookup.version2, 'ECMAScript 2009') |
| 357 | + self.assertEqual(lookup.structure, 'data_types') |
| 358 | + |
304 | 359 |
|
0 commit comments