Files
notifications-admin/tests/app/main/test_create_api_key_form.py
Chris Hill-Scott f3b0c0a556 Use client and logged_in_client fixtures
Wherever possible, because Don’t Repeat Yourself.
2017-02-06 10:44:38 +00:00

33 lines
990 B
Python

import pytest
from werkzeug.datastructures import MultiDict
from app.main.forms import CreateKeyForm
def test_return_validation_error_when_key_name_exists(client):
def _get_names():
return ['some key', 'another key']
form = CreateKeyForm(_get_names(),
formdata=MultiDict([('key_name', 'Some key')]))
form.key_type.choices = [('a', 'a'), ('b', 'b')]
form.validate()
assert form.errors['key_name'] == ['A key with this name already exists']
@pytest.mark.parametrize(
'key_type, expected_error', [
('', 'This field is required.'),
('invalid', 'Not a valid choice')
]
)
def test_return_validation_error_when_key_type_not_chosen(client, key_type, expected_error):
form = CreateKeyForm(
[],
formdata=MultiDict([('key_name', 'Some key'), ('key_type', key_type)]))
form.key_type.choices = [('a', 'a'), ('b', 'b')]
form.validate()
assert form.errors['key_type'] == [expected_error]