Implement form objects for request forms
This commit is contained in:
committed by
Jason Garber
parent
4dd4fbf201
commit
9152ffe91e
14
tests/forms/test_request.py
Normal file
14
tests/forms/test_request.py
Normal file
@@ -0,0 +1,14 @@
|
||||
import wtforms
|
||||
import pytest
|
||||
from atst.forms.request import RequestForm
|
||||
|
||||
form = RequestForm()
|
||||
|
||||
def test_form_has_expected_fields():
|
||||
label = form.application_name.label
|
||||
assert label.text == 'Application name'
|
||||
|
||||
def test_form_can_validate_total_ram():
|
||||
form.application_name.data = 5
|
||||
with pytest.raises(wtforms.validators.ValidationError):
|
||||
form.validate_total_ram(form.application_name)
|
31
tests/handlers/test_request_new.py
Normal file
31
tests/handlers/test_request_new.py
Normal file
@@ -0,0 +1,31 @@
|
||||
import re
|
||||
import pytest
|
||||
|
||||
|
||||
ERROR_CLASS = 'usa-input-error-message'
|
||||
|
||||
@pytest.mark.gen_test
|
||||
def test_submit_invalid_request_form(monkeypatch, http_client, base_url):
|
||||
monkeypatch.setattr('atst.handlers.request_new.RequestNew.check_xsrf_cookie', lambda s: True)
|
||||
# this just needs to send a known invalid form value
|
||||
response = yield http_client.fetch(
|
||||
base_url + "/requests/new",
|
||||
method="POST",
|
||||
headers={"Content-Type": "application/x-www-form-urlencoded"},
|
||||
body="total_ram=5",
|
||||
)
|
||||
assert response.effective_url == base_url + '/requests/new'
|
||||
assert re.search(ERROR_CLASS, response.body.decode())
|
||||
|
||||
@pytest.mark.gen_test
|
||||
def test_submit_valid_request_form(monkeypatch, http_client, base_url):
|
||||
monkeypatch.setattr('atst.handlers.request_new.RequestNew.check_xsrf_cookie', lambda s: True)
|
||||
monkeypatch.setattr('atst.forms.request.RequestForm.validate', lambda s: True)
|
||||
# this just needs to send a known invalid form value
|
||||
response = yield http_client.fetch(
|
||||
base_url + "/requests/new",
|
||||
method="POST",
|
||||
headers={"Content-Type": "application/x-www-form-urlencoded"},
|
||||
body="meaning=42",
|
||||
)
|
||||
assert response.effective_url == base_url + '/requests/new/2'
|
Reference in New Issue
Block a user