From 7ed75fc3e92b85f66965be367f43b1433335c5a7 Mon Sep 17 00:00:00 2001 From: Jon Date: Wed, 28 May 2025 12:28:49 +0930 Subject: [PATCH] test(core): Unite Tesxt Centurion Model method `get_url` attr `model_name` set ref: #775 #767 --- app/core/models/centurion.py | 8 ++--- .../test_unit_centurion_abstract_model.py | 29 +++++++++++++++++-- 2 files changed, 30 insertions(+), 7 deletions(-) diff --git a/app/core/models/centurion.py b/app/core/models/centurion.py index 25f439a5..64fed089 100644 --- a/app/core/models/centurion.py +++ b/app/core/models/centurion.py @@ -217,17 +217,17 @@ class CenturionModel( namespace = namespace + ':' + self.get_app_namespace() - url_basename = f'{namespace}:_api_{self._meta.model_name}-detail' + url_basename = f'{namespace}:_api_{self._meta.model_name}' if self.url_model_name: url_basename = f'{namespace}:_api_{self.url_model_name}' - if self._is_submodel: + if self._is_submodel: - url_basename = url_basename + '_sub' + url_basename += '_sub' - url_basename = url_basename + '-detail' + url_basename += '-detail' url = reverse( viewname = url_basename, kwargs = self.get_url_kwargs() ) diff --git a/app/core/tests/unit/centurion_abstract/test_unit_centurion_abstract_model.py b/app/core/tests/unit/centurion_abstract/test_unit_centurion_abstract_model.py index db0724e0..0669eb0f 100644 --- a/app/core/tests/unit/centurion_abstract/test_unit_centurion_abstract_model.py +++ b/app/core/tests/unit/centurion_abstract/test_unit_centurion_abstract_model.py @@ -58,6 +58,7 @@ class CenturionAbstractModelTestCases( }, 'url_model_name': { 'type': type(None), + 'value': None, } } @@ -272,7 +273,6 @@ class CenturionAbstractModelPyTest( }, 'url_model_name': { 'type': type(None), - 'value': None, } } @@ -778,7 +778,7 @@ class CenturionAbstractModelPyTest( test_value = settings.SITE_URL + site_path model_instance.id = 1 - url_basename = f'v2:_api_{model_instance._meta.model_name}-detail' + # url_basename = f'v2:_api_{model_instance._meta.model_name}-detail' url = model_instance.get_url( relative = False) @@ -797,7 +797,7 @@ class CenturionAbstractModelPyTest( reverse = mocker.patch('rest_framework.reverse._reverse', return_value = site_path) model_instance.id = 1 - url_basename = f'v2:_api_{model_instance._meta.model_name}-detail' + # url_basename = f'v2:_api_{model_instance._meta.model_name}-detail' url = model_instance.get_url( relative = True) @@ -805,6 +805,29 @@ class CenturionAbstractModelPyTest( + def test_method_get_url_attribute_url_model_name_set(self, mocker, model_instance, settings): + """Test Class Method + + Ensure method `get_url` calls reverse + """ + + site_path = '/module/page/1' + + reverse = mocker.patch('rest_framework.reverse._reverse', return_value = site_path) + + model_instance.id = 1 + model_instance.url_model_name = 'testmodel' + + url_basename = f'v2:_api_testmodel-detail' + + url = model_instance.get_url( relative = True) + + model_instance.url_model_name = None # Reset Val + + reverse.assert_called_with( url_basename, None, { 'pk': model_instance.id }, None, None ) + + + def test_method_save_audit_enabled_sets__after_create_model(self, mocker, model_instance): """Test Class Method