Fix uploader test and refactor makeTestWrapper to accept data fn

This commit is contained in:
richard-dds
2019-08-05 11:19:21 -04:00
parent 3d414e1a60
commit 81a478915d
7 changed files with 69 additions and 27 deletions

View File

@@ -2,8 +2,8 @@ import pytest
from wtforms.widgets import CheckboxInput
from wtforms.fields import StringField
from wtforms.validators import InputRequired
from wtforms import Form
from wtforms.validators import InputRequired, URL
from wtforms import Form, FormField
class InitialValueForm(Form):
@@ -14,6 +14,19 @@ class InitialValueForm(Form):
)
class TaskOrderPdfForm(Form):
filename = StringField(default="initialvalue")
object_name = StringField()
errorfield = StringField(
label="error", validators=[InputRequired(message="Test Error Message")]
)
class TaskOrderForm(Form):
pdf = FormField(TaskOrderPdfForm, label="task_order_pdf")
@pytest.fixture
def env(app, scope="function"):
return app.jinja_env
@@ -39,6 +52,16 @@ def initial_value_form(scope="function"):
return InitialValueForm()
@pytest.fixture
def task_order_form(scope="function"):
return TaskOrderForm()
@pytest.fixture
def error_task_order_form(scope="function"):
return ErrorTaskOrderForm()
def write_template(content, name):
with open("js/test_templates/{}".format(name), "w") as fh:
fh.write(content)
@@ -50,12 +73,12 @@ def test_make_checkbox_input_template(checkbox_input_macro, initial_value_form):
write_template(rendered_checkbox_macro, "checkbox_input_template.html")
def test_make_upload_input_template(upload_input_macro, initial_value_form):
rendered_upload_macro = upload_input_macro(initial_value_form.datafield)
def test_make_upload_input_template(upload_input_macro, task_order_form):
rendered_upload_macro = upload_input_macro(task_order_form.pdf, token="token", object_name="object_name")
write_template(rendered_upload_macro, "upload_input_template.html")
def test_make_upload_input_error_template(upload_input_macro, initial_value_form):
initial_value_form.validate()
rendered_upload_macro = upload_input_macro(initial_value_form.errorfield)
def test_make_upload_input_error_template(upload_input_macro, task_order_form):
task_order_form.validate()
rendered_upload_macro = upload_input_macro(task_order_form.pdf, token="token", object_name="object_name")
write_template(rendered_upload_macro, "upload_input_error_template.html")