Exemple #1
0
    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)
Exemple #2
0
    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))
Exemple #3
0
    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
Exemple #4
0
    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)
Exemple #5
0
    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)
Exemple #6
0
 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)
Exemple #7
0
    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)
Exemple #8
0
    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()