Beispiel #1
0
def test_render_form_errors():
    # Receive form with initial values
    # POST form to create view
    # Compare form.errors with MdcField(form.errors)
    postform = PostForm({})  # should yield an invalid form
    test_field = "date"
    postform.is_valid()  # ignore result
    invalid_msg = postform[test_field].field.error_messages["invalid"]
    postform.add_error(test_field, ValidationError(invalid_msg,
                                                   code="invalid"))
    err_msg = "<br />".join(postform.errors[test_field])
    ast_fld = MdcField.render(postform[test_field])
    ast_err = MdcField.errors(postform[test_field])
    ast = Div([], [ast_fld, ast_err])
    html = render_element(ast)

    test_str = f"""
<div>
<div class="mdc-text-field mdc-text-field--invalid" data-mdc-auto-init="MDCTextField">
 <input name="date" required id="id_date" class="mdc-text-field__input" type="date" />
 <label for="id_date" class="mdc-floating-label">Type = date:</label>
 <div class="mdc-line-ripple"></div>
</div>
<div class="mdc-text-field-helper-line"><div class="mdc-text-field-helper-text--validation-msg mdc-text-field-helper-text mdc-text-field-helper-text--persistent" class="mdc-text-field-helper-text--validation-msg" id="{test_field}-helper-text">{err_msg}</div></div>
</div>
"""  # noqa
    test_str = re.sub(r"\n\s*", "", test_str)
    assert html == test_str
Beispiel #2
0
 def errors(f):
     return Factory.errors(self[f])