From 8066a3360b23508d3fb2da3d37d2c63f2630faff Mon Sep 17 00:00:00 2001 From: Sebastiaan Zeeff <33516116+SebastiaanZ@users.noreply.github.com> Date: Thu, 22 Aug 2019 20:38:51 +0200 Subject: Adding required fields validator and tests to embed fields --- pydis_site/apps/api/models/bot/tag.py | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'pydis_site/apps/api/models') diff --git a/pydis_site/apps/api/models/bot/tag.py b/pydis_site/apps/api/models/bot/tag.py index 0dc4830c..fc0db4e4 100644 --- a/pydis_site/apps/api/models/bot/tag.py +++ b/pydis_site/apps/api/models/bot/tag.py @@ -23,10 +23,15 @@ def validate_tag_embed_fields(fields): 'inline': (is_bool_validator,), } + required_fields = ('name', 'value') + for field in fields: if not isinstance(field, Mapping): raise ValidationError("Embed fields must be a mapping.") + if not all(required_field in field for required_field in required_fields): + raise ValidationError("Embed fields must contain both a 'name' and a 'value' field.") + for field_name, value in field.items(): if field_name not in field_validators: raise ValidationError(f"Unknown embed field field: {field_name!r}.") -- cgit v1.2.3