test(core): mock the user object within the model context

ref: #789 #759
This commit is contained in:
2025-06-06 07:00:07 +09:30
parent 143dd2af35
commit e9a8ad1c48

View File

@ -817,7 +817,7 @@ class CenturionAbstractModelPyTest(
def test_method_save_audit_enabled_sets__after_create_model(self, mocker, model_instance):
def test_method_save_audit_enabled_sets__after_create_model(self, mocker, model_user, model_instance):
"""Test Class Method
Ensure method `save` sets attribute `self._after` to the value of the
@ -835,6 +835,16 @@ class CenturionAbstractModelPyTest(
mocker.patch('django.db.models.base.Model.save', return_value = None)
user = model_user.objects.create(
username = 'centurion_abstract',
password = 'password'
)
mocker.patch('access.models.tenancy_abstract.TenancyAbstractModel.context', return_value = {
'user': user,
'logger': None
})
mocker.patch('core.models.centurion.CenturionModel.full_clean', return_value = None)
test_value = {
@ -849,7 +859,7 @@ class CenturionAbstractModelPyTest(
def test_method_save_audit_enabled_sets__before_create_model(self, mocker, model_instance):
def test_method_save_audit_enabled_sets__before_create_model(self, mocker, model_user, model_instance):
"""Test Class Method
Ensure method `save` sets attribute `self._before` with an empty dict for new model
@ -864,6 +874,16 @@ class CenturionAbstractModelPyTest(
model_instance._audit_enabled = True
user = model_user.objects.create(
username = 'centurion_abstract',
password = 'password'
)
mocker.patch('access.models.tenancy_abstract.TenancyAbstractModel.context', return_value = {
'user': user,
'logger': None
})
mocker.patch('django.db.models.base.Model.save', return_value = None)
mocker.patch('core.models.centurion.CenturionModel.full_clean', return_value = None)
@ -876,7 +896,7 @@ class CenturionAbstractModelPyTest(
def test_method_save_audit_enabled_sets__after_update_model(self, mocker, model_instance):
def test_method_save_audit_enabled_sets__after_update_model(self, mocker, model_user, model_instance):
"""Test Class Method
Ensure method `save` sets attribute `self._after` to the value of the
@ -893,6 +913,16 @@ class CenturionAbstractModelPyTest(
def get(self, *args, **kwargs):
return self.MockObj()
user = model_user.objects.create(
username = 'centurion_abstract',
password = 'password'
)
mocker.patch('access.models.tenancy_abstract.TenancyAbstractModel.context', return_value = {
'user': user,
'logger': None
})
mocker.patch('access.models.tenancy_abstract.TenancyAbstractModel.objects', new_callable=MockManager)
model_instance.id = 1
@ -915,7 +945,7 @@ class CenturionAbstractModelPyTest(
def test_method_save_audit_enabled_sets__before_update_model(self, mocker, model_instance):
def test_method_save_audit_enabled_sets__before_update_model(self, mocker, model_user, model_instance):
"""Test Class Method
Ensure method `save` sets attribute `self._before` to field values
@ -936,6 +966,16 @@ class CenturionAbstractModelPyTest(
def get(self, *args, **kwargs):
return self.MockObj()
user = model_user.objects.create(
username = 'centurion_abstract',
password = 'password'
)
mocker.patch('access.models.tenancy_abstract.TenancyAbstractModel.context', return_value = {
'user': user,
'logger': None
})
mocker.patch('access.models.tenancy_abstract.TenancyAbstractModel.objects', new_callable=MockManager)
model_instance.id = 1
@ -1036,7 +1076,7 @@ class CenturionAbstractModelPyTest(
def test_method_save_audit_enabled_calls_get_audit_values_create_model(self, mocker, model_instance):
def test_method_save_audit_enabled_calls_get_audit_values_create_model(self, mocker, model_user, model_instance):
"""Test Class Method
Ensure method `save` calls `self.get_audit_values()` with the defined attributes.
@ -1051,6 +1091,16 @@ class CenturionAbstractModelPyTest(
model_instance._audit_enabled = True
user = model_user.objects.create(
username = 'centurion_abstract',
password = 'password'
)
mocker.patch('access.models.tenancy_abstract.TenancyAbstractModel.context', return_value = {
'user': user,
'logger': None
})
mocker.patch('django.db.models.base.Model.save', return_value = None)
mocker.patch('core.models.centurion.CenturionModel.full_clean', return_value = None)