mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-04 02:11:11 -05:00
Add a schema to validate a single user attr 'strictly'
This commit is contained in:
@@ -1,3 +1,6 @@
|
||||
import pytest
|
||||
|
||||
|
||||
def test_job_schema_doesnt_return_notifications(sample_notification_with_job):
|
||||
from app.schemas import job_schema
|
||||
|
||||
@@ -22,3 +25,34 @@ def test_notification_schema_adds_api_key_name(sample_notification_with_api_key)
|
||||
|
||||
data = notification_with_template_schema.dump(sample_notification_with_api_key).data
|
||||
assert data['key_name'] == 'Test key'
|
||||
|
||||
|
||||
@pytest.mark.parametrize('user_attribute, user_value', [
|
||||
('name', 'New User'),
|
||||
('email_address', 'newuser@mail.com'),
|
||||
('mobile_number', '+4407700900460')
|
||||
])
|
||||
def test_user_schema_accepts_valid_attributes(user_attribute, user_value):
|
||||
update_dict = {
|
||||
user_attribute: user_value
|
||||
}
|
||||
from app.schemas import user_update_schema_load_json
|
||||
|
||||
data, errors = user_update_schema_load_json.load(update_dict)
|
||||
assert not errors
|
||||
|
||||
|
||||
@pytest.mark.parametrize('user_attribute, user_value', [
|
||||
('name', None),
|
||||
('name', ''),
|
||||
('email_address', 'bademail@...com'),
|
||||
('mobile_number', '+44077009')
|
||||
])
|
||||
def test_user_schema_rejects_invalid_attributes(user_attribute, user_value):
|
||||
from app.schemas import user_update_schema_load_json
|
||||
update_dict = {
|
||||
user_attribute: user_value
|
||||
}
|
||||
|
||||
with pytest.raises(Exception):
|
||||
data, errors = user_update_schema_load_json.load(update_dict)
|
||||
|
||||
Reference in New Issue
Block a user