def test_build_4_customfield01(self):
        "INT CustomField"
        name = 'Size (cm)'
        customfield = CustomField.objects.create(
            name=name,
            field_type=CustomField.INT,
            content_type=self.contact_ct,
        )

        cell = EntityCellCustomField(customfield)
        self.assertIsInstance(cell, EntityCellCustomField)
        self.assertEqual(str(customfield.id), cell.value)
        self.assertEqual(name, cell.title)
        self.assertEqual('custom_field-{}'.format(customfield.id), cell.key)
        # self.assertIs(cell.has_a_filter, True)
        # self.assertIs(cell.editable,     False)
        # self.assertIs(cell.sortable,     False)
        self.assertIs(cell.is_multiline, False)
        # self.assertEqual('customfieldinteger__value__icontains', cell.filter_string)
        self.assertEqual(settings.CSS_NUMBER_LISTVIEW, cell.listview_css_class)
        self.assertEqual(settings.CSS_DEFAULT_HEADER_LISTVIEW,
                         cell.header_listview_css_class)

        cell = EntityCellCustomField.build(FakeContact, customfield.id)
        self.assertIsInstance(cell, EntityCellCustomField)
        self.assertEqual(str(customfield.id), cell.value)

        self.assertIsNone(EntityCellCustomField.build(FakeContact, 1000))
Exemple #2
0
    def test_customfield_int(self):
        self.assertEqual(_('Custom fields'),
                         EntityCellCustomField.verbose_name)

        name = 'Size (cm)'
        customfield = CustomField.objects.create(
            name=name,
            field_type=CustomField.INT,
            content_type=self.contact_ct,
        )

        cell = EntityCellCustomField(customfield)
        self.assertIsInstance(cell, EntityCellCustomField)
        self.assertEqual(str(customfield.id), cell.value)
        self.assertEqual(name, cell.title)
        self.assertEqual(f'custom_field-{customfield.id}', cell.key)
        self.assertIs(cell.is_multiline, False)
        self.assertEqual(settings.CSS_NUMBER_LISTVIEW, cell.listview_css_class)
        self.assertEqual(settings.CSS_DEFAULT_HEADER_LISTVIEW,
                         cell.header_listview_css_class)

        cell = EntityCellCustomField.build(FakeContact, customfield.id)
        self.assertIsInstance(cell, EntityCellCustomField)
        self.assertEqual(str(customfield.id), cell.value)

        self.assertIsNone(EntityCellCustomField.build(FakeContact, 1000))
        self.assertIsNone(EntityCellCustomField.build(FakeContact, 'notanint'))

        # Render ---
        user = self.create_user()
        yoko = FakeContact.objects.create(user=user,
                                          first_name='Yoko',
                                          last_name='Littner')
        self.assertEqual('', cell.render_html(entity=yoko, user=user))

        customfield.value_class.objects.create(entity=yoko,
                                               custom_field=customfield,
                                               value=152)
        yoko = self.refresh(yoko)  # Reset caches
        self.assertEqual('152', cell.render_html(entity=yoko, user=user))
        self.assertEqual('152', cell.render_csv(entity=yoko, user=user))