atst/tests/handlers/test_request_new.py
2018-06-26 16:34:09 -04:00

46 lines
1.6 KiB
Python

import re
import pytest
ERROR_CLASS = 'usa-input-error-message'
MOCK_USER = {
'id': '9cb348f0-8102-4962-88c4-dac8180c904c',
'email': 'fake.user@mail.com',
'first_name': 'Fake',
'last_name': 'User'
}
@pytest.mark.gen_test
def test_submit_invalid_request_form(monkeypatch, http_client, base_url):
monkeypatch.setattr(
'atst.handlers.request_new.RequestNew.get_current_user',
lambda s: MOCK_USER)
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.get_current_user',
lambda s: MOCK_USER)
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 "/requests/new/2" in response.effective_url