2016-06-29 17:10:49 +01:00
|
|
|
import pytest
|
2016-01-21 14:15:36 +00:00
|
|
|
from werkzeug.datastructures import MultiDict
|
|
|
|
|
|
|
|
|
|
from app.main.forms import CreateKeyForm
|
|
|
|
|
|
|
|
|
|
|
2017-02-03 12:07:21 +00:00
|
|
|
def test_return_validation_error_when_key_name_exists(client):
|
2018-11-13 09:57:17 +00:00
|
|
|
_existing_keys = [
|
|
|
|
|
{'name': 'some key'},
|
|
|
|
|
{'name': 'another key'},
|
|
|
|
|
]
|
2016-01-21 14:15:36 +00:00
|
|
|
|
2018-11-13 09:57:17 +00:00
|
|
|
form = CreateKeyForm(_existing_keys,
|
2017-02-03 12:07:21 +00:00
|
|
|
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']
|
2016-06-29 17:10:49 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
|
|
|
'key_type, expected_error', [
|
|
|
|
|
('', 'This field is required.'),
|
|
|
|
|
('invalid', 'Not a valid choice')
|
|
|
|
|
]
|
|
|
|
|
)
|
2017-02-03 12:07:21 +00:00
|
|
|
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]
|