mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-02-23 20:01:01 -05:00
Add extra tests to make sure that the form is safe
Previous implementations of this functionality mutated the base form class, which broke a bunch of stuff. I want to make sure that getting this form for one placeholder doesn’t change other forms that have already been instantiated for other placeholders. Mutation is scary.
This commit is contained in:
18
tests/app/main/test_placeholder_form.py
Normal file
18
tests/app/main/test_placeholder_form.py
Normal file
@@ -0,0 +1,18 @@
|
||||
from app.main.forms import get_placeholder_form_instance
|
||||
from wtforms import Label
|
||||
|
||||
|
||||
def test_form_class_not_mutated(app_):
|
||||
|
||||
with app_.test_request_context(
|
||||
method='POST',
|
||||
data={'placeholder_value': ''}
|
||||
) as req:
|
||||
form1 = get_placeholder_form_instance('name', {}, optional_placeholder=False)
|
||||
form2 = get_placeholder_form_instance('city', {}, optional_placeholder=True)
|
||||
|
||||
assert not form1.validate_on_submit()
|
||||
assert form2.validate_on_submit()
|
||||
|
||||
assert str(form1.placeholder_value.label) == '<label for="placeholder_value">name</label>'
|
||||
assert str(form2.placeholder_value.label) == '<label for="placeholder_value">city</label>'
|
||||
Reference in New Issue
Block a user