def test_cell_registry_relation02(self): "Default data." registry = lv_search.ListViewSearchFieldRegistry() cell = EntityCellRelation.build(model=FakeContact, rtype_id=REL_SUB_HAS) field = registry.get_field(cell=cell, user=self.user) self.assertIsInstance(field, lv_form.RelationField)
def test_cell_registry_functionfield02(self): "Default data." funfield = self.PhoneFunctionField() cell = EntityCellFunctionField(model=FakeContact, func_field=funfield) registry = lv_search.ListViewSearchFieldRegistry() field = registry.get_field(cell=cell, user=self.user) self.assertEqual(lv_form.ListViewSearchField, type(field))
def test_cell_registry_functionfield01(self): funfield = self.PhoneFunctionField() cell = EntityCellFunctionField(model=FakeContact, func_field=funfield) registry = lv_search.ListViewSearchFieldRegistry(to_register=()) field = registry.get_field(cell=cell, user=self.user) self.assertIsInstance(field, lv_form.ListViewSearchField) with self.assertRaises(KeyError): registry[EntityCellFunctionField.type_id] # NOQA
def test_cell_registry_customfield(self): cfield = CustomField.objects.create( name='A', field_type=CustomField.STR, content_type=FakeContact, ) cell = EntityCellCustomField(customfield=cfield) registry = lv_search.ListViewSearchFieldRegistry() field = registry.get_field(cell=cell, user=self.user) self.assertIsInstance(field, lv_form.CustomCharField)
def test_cell_registry_get_item(self): class MyField(lv_form.ListViewSearchField): pass funfield = self.PhoneFunctionField() cell = EntityCellFunctionField(model=FakeContact, func_field=funfield) registry = lv_search.ListViewSearchFieldRegistry() registry[EntityCellFunctionField.type_id].register( ffield=funfield, sfield_builder=MyField) self.assertIsInstance(registry.get_field(cell=cell, user=self.user), MyField) with self.assertNoException(): registry[EntityCellRegularField. type_id].builder_4_model_field_type(ForeignKey)
def test_cell_registry_regularfield(self): build_cell = partial(EntityCellRegularField.build, model=FakeContact) get_field = lv_search.ListViewSearchFieldRegistry().get_field user = self.user self.assertIsInstance( get_field(cell=build_cell(name='first_name'), user=user), lv_form.RegularCharField) self.assertIsInstance( get_field(cell=build_cell(name='is_a_nerd'), user=user), lv_form.RegularBooleanField) self.assertIsInstance( get_field(cell=build_cell(name='birthday'), user=user), lv_form.RegularDateField) self.assertIsInstance( get_field(cell=build_cell(name='address'), user=user), lv_form.RegularRelatedField)
def test_cell_registry_relation01(self): cell = EntityCellRelation.build(model=FakeContact, rtype_id=REL_SUB_HAS) registry = lv_search.ListViewSearchFieldRegistry(to_register=()) field = registry.get_field(cell=cell, user=self.user) self.assertIsInstance(field, lv_form.ListViewSearchField) class MyField(lv_form.RelationField): pass class Registry: def get_field(this, *, cell, user): return MyField(cell=cell, user=user) registry.register(cell_id=EntityCellRelation.type_id, registry_class=Registry) field = registry.get_field(cell=cell, user=self.user) self.assertIsInstance(field, MyField)
def test_cell_registry_pretty(self): registry = lv_search.ListViewSearchFieldRegistry() # NB: just test it don't crash. We could do better... with self.assertNoException(): registry.pretty()