Repository URL to install this package:
Version:
0.3.0a1 ▾
|
from dj_kaos.building_blocks.models import UUIDModel, TimestampedModel, NamedModel, SluggedModel, ArchivableModel
from dj_kaos.models.configs import *
from dj_kaos.models.consts import FilterLookup, FieldsetHeader
from dj_kaos.ontology.models import OntologicalObject
class TestModelConfig:
def test_get_actions(self):
model_config = ModelConfig()
request = None
obj = None
assert model_config.get_actions(request, obj) == ()
def test_get_change_actions(self):
model_config = ModelConfig()
request = None
obj = None
assert model_config.get_change_actions(request, obj) == ()
def test_get_search_fields(self):
model_config = ModelConfig()
request = None
assert model_config.get_search_fields(request) == ()
def test_get_list_display(self):
model_config = ModelConfig()
request = None
assert model_config.get_list_display(request) == ()
def test_get_list_filter(self):
model_config = ModelConfig()
request = None
obj = None
assert model_config.get_list_filter(request) == ()
def test_get_readonly_fields(self):
model_config = ModelConfig()
request = None
obj = None
assert model_config.get_readonly_fields(request, obj) == ()
def test_get_fields(self):
model_config = ModelConfig()
request = None
obj = None
assert model_config.get_fields(request, obj) == ()
def test_get_flat_fields(self):
model_config = ModelConfig()
exclude = None
assert model_config.get_flat_fields(exclude) == ()
def test_get_fieldsets(self):
model_config = ModelConfig()
request = None
obj = None
assert model_config.get_fieldsets(request, obj) == ()
def test_get_edit_readonly_fields(self):
model_config = ModelConfig()
request = None
obj = None
assert model_config.get_edit_readonly_fields(request, obj) == ()
class TestModelConfig__combine:
def test_combine(self):
class TestConfig1(ModelConfig):
unrequired_fields = ('field1',)
actions = ('action1',)
change_actions = ('change_action1',)
search_fields = ('field2',)
list_display = ('field3',)
list_filter = ('field4',)
readonly_fields = ('field5',)
fields = ('field6',)
_fieldsets = (('set1', {'fields': ('field7',)}),)
attrs_to_track = ('field8',)
class TestConfig2(ModelConfig):
unrequired_fields = ('field9',)
actions = ('action2',)
change_actions = ('change_action2',)
search_fields = ('field10',)
list_display = ('field11',)
list_filter = ('field12',)
readonly_fields = ('field13',)
fields = ('field14',)
_fieldsets = (('set2', {'fields': ('field15',)}),)
attrs_to_track = ('field16',)
combined = ModelConfig.combine(TestConfig1(), TestConfig2())
assert combined.unrequired_fields == ('field1', 'field9')
assert combined.actions == ('action2', 'action1')
assert combined.change_actions == ('change_action2', 'change_action1')
assert combined.search_fields == ('field2', 'field10')
assert combined.list_display == ('field3', 'field11')
assert combined.list_filter == ('field12', 'field4')
assert combined.readonly_fields == ('field5', 'field13')
assert combined.fields == ('field6', 'field14')
assert combined.fieldsets == (
('set1', {'fields': ('field7',)}),
('set2', {'fields': ('field15',)})
)
assert combined.attrs_to_track == ('field8', 'field16')
def test_UUIDModelConfig_fields():
config = UUIDModel.config
fields = ('uuid',)
assert config.unrequired_fields == ()
assert config.actions == ()
assert config.change_actions == ()
assert config.search_fields == fields
assert config.list_filter == ()
assert config.list_display == ()
assert config.readonly_fields == fields
assert config.edit_readonly_fields == ()
assert config.fields == fields
assert config.fieldsets == ((FieldsetHeader.ADMIN, {'fields': fields, 'classes': ('collapse', 'collapsed',)}),)
assert config.attrs_to_track == ()
assert config.filterset_fields == {
'uuid': FilterLookup.EXACT,
}
def test_TimestampedModelConfig_fields():
config = TimestampedModel.config
fields = ('created', 'modified')
assert config.unrequired_fields == ()
assert config.actions == ()
assert config.change_actions == ()
assert config.search_fields == ()
assert config.list_filter == fields
assert config.list_filter == fields
assert config.readonly_fields == fields
assert config.edit_readonly_fields == ()
assert config.fields == fields
assert config.fieldsets == (
(FieldsetHeader.ADMIN, {'fields': (fields,)}),
)
assert config.attrs_to_track == ()
assert config.filterset_fields == {
'created': FilterLookup.NUMBER,
'modified': FilterLookup.NUMBER,
}
def test_OntologicalObjectConfig():
config = OntologicalObject.config
assert config.unrequired_fields == ()
assert config.actions == ArchivableModel.config.actions
assert config.change_actions == ArchivableModel.config.change_actions
assert config.attrs_to_track == ()
assert config.list_filter == (*TimestampedModel.config.list_filter, *ArchivableModel.config.list_filter)
assert config.search_fields == UUIDModel.config.search_fields
assert config.list_display == ArchivableModel.config.list_display
assert config.fields == (*UUIDModel.config.fields, *TimestampedModel.config.fields, *ArchivableModel.config.fields)
assert config.readonly_fields == (
*UUIDModel.config.readonly_fields, *TimestampedModel.config.readonly_fields,
*ArchivableModel.config.readonly_fields)
assert config.edit_readonly_fields == ()
assert config.fieldsets == (
(FieldsetHeader.ADMIN,
{'fields': ('is_unarchived', 'uuid', ('created', 'modified')), 'classes': ('collapse', 'collapsed',)}),
)
assert config.filterset_fields == {
**UUIDModel.config.filterset_fields, **TimestampedModel.config.filterset_fields,
**ArchivableModel.config.filterset_fields
}
def test_NamedModelConfig():
config = NamedModel.config
fields = ('name',)
assert config.unrequired_fields == ()
assert config.actions == ()
assert config.change_actions == ()
assert config.list_filter == ()
assert config.list_display == fields
assert config.search_fields == fields
assert config.edit_readonly_fields == ()
assert config.list_display == fields
assert config.fields == fields
assert config.fieldsets == ((None, {'fields': fields}),)
assert config.attrs_to_track == ()
assert config.filterset_fields == {
'name': FilterLookup.STRING,
}
def test_SluggedModelConfig():
config = SluggedModel.config
fields = ('slug',)
assert config.unrequired_fields == fields
assert config.actions == ()
assert config.change_actions == ()
assert config.list_filter == ()
assert config.list_display == fields
assert config.search_fields == fields
assert config.readonly_fields == ()
assert config.edit_readonly_fields == fields
assert config.fields == fields
assert config.fieldsets == (
(None, {'fields': fields}),
)
assert config.attrs_to_track == ()
assert config.filterset_fields == {
'slug': FilterLookup.STRING,
}