test(access): Unit Model Tests for TenancyAbstractModel
ref: #770 #758 #767
This commit is contained in:
@ -78,7 +78,7 @@ class TenancyAbstractModel(
|
||||
|
||||
context: dict = {
|
||||
'logger': None,
|
||||
'request': None,
|
||||
'user': None,
|
||||
}
|
||||
""" Model Context
|
||||
|
||||
|
14
app/access/tests/unit/tenancy_abstract/conftest.py
Normal file
14
app/access/tests/unit/tenancy_abstract/conftest.py
Normal file
@ -0,0 +1,14 @@
|
||||
import pytest
|
||||
|
||||
from access.models.tenancy_abstract import TenancyAbstractModel
|
||||
|
||||
|
||||
|
||||
@pytest.fixture( scope = 'class')
|
||||
def model(request):
|
||||
|
||||
request.cls.model = TenancyAbstractModel
|
||||
|
||||
yield request.cls.model
|
||||
|
||||
del request.cls.model
|
@ -0,0 +1,125 @@
|
||||
# import inspect
|
||||
import pytest
|
||||
# import rest_framework
|
||||
|
||||
from django.db import models
|
||||
# from django.core.exceptions import (
|
||||
# ValidationError
|
||||
# )
|
||||
# from django.utils.timezone import now
|
||||
|
||||
from centurion.tests.unit_models import ModelTestCases
|
||||
|
||||
from access.models.tenancy_abstract import TenancyAbstractModel
|
||||
|
||||
|
||||
|
||||
@pytest.mark.models
|
||||
class TenancyAbstractModelTestCases(
|
||||
ModelTestCases
|
||||
):
|
||||
|
||||
|
||||
|
||||
kwargs_create_item = {}
|
||||
|
||||
|
||||
parameterized_class_attributes = {
|
||||
'context': {
|
||||
'type': dict,
|
||||
'value': {
|
||||
'logger': None,
|
||||
'user': None,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
parameterized_model_fields = {
|
||||
'organization': {
|
||||
'blank': False,
|
||||
'default': models.fields.NOT_PROVIDED,
|
||||
'field_type': models.ForeignKey,
|
||||
'null': False,
|
||||
'unique': False,
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
@pytest.fixture( scope = 'class', autouse = True)
|
||||
def setup_organization(cls, request, model, organization_one):
|
||||
|
||||
request.cls.organization = organization_one
|
||||
|
||||
if request.cls.kwargs_create_item:
|
||||
|
||||
request.cls.kwargs_create_item.update({
|
||||
'organization': organization_one,
|
||||
})
|
||||
|
||||
else:
|
||||
|
||||
request.cls.kwargs_create_item = {
|
||||
'organization': organization_one,
|
||||
}
|
||||
|
||||
|
||||
|
||||
def test_class_inherits_tenancy_model(self, model):
|
||||
""" Class Check
|
||||
|
||||
Ensure this model inherits from `TenancyAbstractModel`
|
||||
"""
|
||||
|
||||
assert issubclass(model, TenancyAbstractModel)
|
||||
|
||||
|
||||
|
||||
def test_method_get_tenant_returns_tenant(self, mocker, model_instance):
|
||||
"""Test Class Method
|
||||
|
||||
Ensure method `get_history_model_name` returns the value of the models
|
||||
audit name `<Model Class name>AuditHistory`
|
||||
"""
|
||||
|
||||
test_value = self.organization
|
||||
model_instance.organization = test_value
|
||||
|
||||
|
||||
assert model_instance.get_tenant() == test_value
|
||||
|
||||
|
||||
|
||||
class TenancyAbstractModelInheritedCases(
|
||||
TenancyAbstractModelTestCases,
|
||||
):
|
||||
|
||||
|
||||
pass
|
||||
|
||||
|
||||
|
||||
class TenancyAbstractModelPyTest(
|
||||
TenancyAbstractModelTestCases,
|
||||
):
|
||||
|
||||
|
||||
def test_model_is_abstract(self, model):
|
||||
|
||||
assert model._meta.abstract
|
||||
|
||||
|
||||
|
||||
def test_method_get_tenant_returns_tenant(self, mocker, model_instance):
|
||||
"""Test Class Method
|
||||
|
||||
Ensure method `get_history_model_name` returns the value of the models
|
||||
audit name `<Model Class name>AuditHistory`
|
||||
"""
|
||||
|
||||
test_value = self.organization
|
||||
model_instance.organization = test_value
|
||||
|
||||
|
||||
assert model_instance.get_tenant() == test_value
|
||||
|
Reference in New Issue
Block a user