diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2023-01-13 18:03:07 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2023-01-13 18:03:07 +0100 |
commit | f930d9612fe14ff1bb97ab7cdf2373c3fd8be87d (patch) | |
tree | 35f7f33b1bda216a9eb2e52854b6eb772ce0ec18 /archaeological_operations/tests.py | |
parent | 55deac8fddc7253cbcfeeed2c00ee45c1f91610a (diff) | |
download | Ishtar-f930d9612fe14ff1bb97ab7cdf2373c3fd8be87d.tar.bz2 Ishtar-f930d9612fe14ff1bb97ab7cdf2373c3fd8be87d.zip |
Syndication - test: source, show table and export config - destination, update theses config
Diffstat (limited to 'archaeological_operations/tests.py')
-rw-r--r-- | archaeological_operations/tests.py | 57 |
1 files changed, 56 insertions, 1 deletions
diff --git a/archaeological_operations/tests.py b/archaeological_operations/tests.py index 04af3445a..26da94f60 100644 --- a/archaeological_operations/tests.py +++ b/archaeological_operations/tests.py @@ -4520,7 +4520,10 @@ class ApiTest(OperationInitTest, APITestCase): random_operation_type = models.OperationType.objects.all()[0] random_operation_type.available = False random_operation_type.save() - self.create_api_search_model() + api_search_model = self.create_api_search_model() + ope_importer = ImporterType.objects.get(slug="ishtar-operations") + api_search_model.export.add(ope_importer) + url = reverse("api-facets-operation") response = self.client.get( url, @@ -4549,6 +4552,30 @@ class ApiTest(OperationInitTest, APITestCase): break self.assertTrue(has_type) + ope_key = "archaeological_operations-operation-" + site_key = "archaeological_operations-archaeologicalsite-" + self.assertIn("config", j) + self.assertIn("search_columns", j["config"]) + columns = j["config"]["search_columns"].split("||") + ope_columns = [c for c in columns if c.startswith(ope_key)] + site_columns = [c for c in columns if c.startswith(site_key)] + self.assertFalse(site_columns) # null + self.assertTrue(ope_columns) # not null + self.assertEqual(len(columns), len(ope_columns)) + + self.assertIn("search_columns_label", j["config"]) + columns_label = j["config"]["search_columns"].split("||") + ope_columns_labels = [c for c in columns if c.startswith(ope_key)] + site_columns_labels = [c for c in columns if c.startswith(site_key)] + self.assertFalse(site_columns_labels) # null + self.assertTrue(ope_columns_labels) # not null + self.assertEqual(len(columns_label), len(ope_columns_labels)) + + self.assertIn("exports", j["config"]) + self.assertEqual(j["config"]["exports"], ope_key + ope_importer.slug) + self.assertIn("exports_label", j["config"]) + self.assertEqual(j["config"]["exports_label"], ope_key + ope_importer.name) + self.create_api_search_model( app_label="archaeological_operations", model="archaeologicalsite" ) @@ -4562,6 +4589,24 @@ class ApiTest(OperationInitTest, APITestCase): j = json.loads(response.content.decode()) self.assertIn("archaeological_operations.archaeologicalsite", j) + self.assertIn("config", j) + self.assertIn("search_columns", j["config"]) + columns = j["config"]["search_columns"].split("||") + ope_columns = [c for c in columns if c.startswith(ope_key)] + site_columns = [c for c in columns if c.startswith(site_key)] + self.assertTrue(ope_columns) # not null + self.assertTrue(site_columns) # not null + self.assertEqual(len(columns), len(ope_columns) + len(site_columns)) + + self.assertIn("search_columns_label", j["config"]) + columns_label = j["config"]["search_columns"].split("||") + ope_columns_labels = [c for c in columns if c.startswith(ope_key)] + site_columns_labels = [c for c in columns if c.startswith(site_key)] + self.assertTrue(ope_columns_labels) # not null + self.assertTrue(site_columns_labels) # not null + self.assertEqual(len(columns_label), + len(ope_columns_labels) + len(site_columns_labels)) + def _get_source(self): src, __ = models_rest.ApiExternalSource.objects.get_or_create( url="http://localhost", name="Default source", key="xxx" @@ -4626,6 +4671,11 @@ class ApiTest(OperationInitTest, APITestCase): self._mock_request(mock_get) response = self.client.post(url, params, follow=True) + source = models_rest.ApiExternalSource.objects.get(pk=source.pk) + # table and export config updated + for k in ("search_columns", "search_columns_label", "exports", "exports_label"): + self.assertTrue(getattr(source, k)) + result = {"created": "XXXXX"} msg_created = str(_(f"{result['created']} matches created")).replace( result["created"], "" @@ -4635,6 +4685,11 @@ class ApiTest(OperationInitTest, APITestCase): self._mock_request(mock_get, "external_source_types_2.json") response = self.client.post(url, params, follow=True) + source = models_rest.ApiExternalSource.objects.get(pk=source.pk) + # table and export config reinit because no config data provided + for k in ("search_columns", "search_columns_label", "exports", "exports_label"): + self.assertTrue(getattr(source, k)) + content = response.content.decode() self.assertNotIn(msg_created, content) # no new creation missing_search_models = "archaeological_operations.strangeoperation" |