Skip to content

Commit d9c2384

Browse files
committed
Add custom field base model tests
1 parent 24442fe commit d9c2384

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
from django.db.models import QuerySet
2+
from django_extensions.db.models import TimeStampedModel
3+
4+
from app.tests import APITestCase
5+
from app.web.publishable import PublishableModel
6+
from app.web.publishable import PublishableQuerySet
7+
from django_features.custom_fields import models
8+
from django_features.custom_fields.factories import CustomFieldFactory
9+
from django_features.custom_fields.models.field import CustomFieldQuerySet
10+
11+
12+
class CustomFieldBaseClassTestCase(APITestCase):
13+
def test_custom_field_base_model_class(self) -> None:
14+
self.assertTrue(issubclass(models.CustomField, TimeStampedModel))
15+
self.assertTrue(issubclass(models.CustomField, PublishableModel))
16+
17+
def test_edit_custom_field_base_model_class_field(self) -> None:
18+
custom_field: models.CustomField = CustomFieldFactory() # type: ignore
19+
self.assertFalse(custom_field.is_public)
20+
custom_field.is_public = True
21+
self.assertTrue(custom_field.is_public)
22+
23+
def test_custom_field_base_queryset_class(self) -> None:
24+
self.assertTrue(issubclass(CustomFieldQuerySet, QuerySet))
25+
self.assertTrue(issubclass(CustomFieldQuerySet, PublishableQuerySet))
26+
27+
def test_publishable_custom_field_base_queryset_class(self) -> None:
28+
CustomFieldFactory(identifier="field_1")
29+
CustomFieldFactory(identifier="field_2", is_public=True)
30+
CustomFieldFactory(identifier="field_3", is_public=True)
31+
self.assertEqual(3, models.CustomField.objects.all().count())
32+
self.assertEqual(2, models.CustomField.objects.publishable().count())
33+
self.assertEqual(1, models.CustomField.objects.filter(is_public=False).count())

0 commit comments

Comments
 (0)