Skip to content

Commit 6ace3fe

Browse files
authored
Add tests for registry (#5)
1 parent f68b081 commit 6ace3fe

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

tests/test_form_registry.py

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
from django import forms
2+
from django.test import TestCase
3+
4+
from djangocms_form_builder.forms import FormsForm
5+
6+
7+
class MyTestForm(forms.Form):
8+
field = forms.TextInput()
9+
10+
11+
class NamedForm(MyTestForm):
12+
class Meta:
13+
verbose_name = "This form has a custom name"
14+
15+
16+
class TestRegistry(TestCase):
17+
def test_registry(self):
18+
from djangocms_form_builder import (
19+
get_registered_forms,
20+
register_with_form_builder,
21+
)
22+
23+
registered_forms = get_registered_forms()
24+
# no forms registered yet
25+
self.assertEqual(registered_forms[0][0], "No forms registered")
26+
forms_form = FormsForm()
27+
# No forms to select: hide field in form plugin admin form
28+
self.assertIsInstance(forms_form.fields["form_selection"].widget, forms.HiddenInput)
29+
30+
register_with_form_builder(MyTestForm)
31+
32+
registered_forms = get_registered_forms()
33+
self.assertEqual(len(registered_forms), 1) # one form
34+
self.assertEqual(registered_forms[0][1], "My Test Form") # derived from the class name
35+
forms_form = FormsForm()
36+
# Form registered: Select widget in form plugin admin form
37+
self.assertIsInstance(forms_form.fields["form_selection"].widget, forms.Select)
38+
39+
register_with_form_builder(NamedForm)
40+
41+
registered_forms = get_registered_forms()
42+
self.assertEqual(len(registered_forms), 2) # second form
43+
self.assertEqual(registered_forms[1][1], "This form has a custom name") # attribute-driven

0 commit comments

Comments
 (0)