mirror of
https://github.com/zulip/zulip.git
synced 2025-11-02 13:03:29 +00:00
widgets: Make type checks more explicit.
Note that I don't actually convert the checker from check_dict to check_dict_only, because that would be a user-facing change, but I think we can sweep a lot of things like this after the next release.
This commit is contained in:
@@ -351,7 +351,10 @@ def check_widget_content(widget_content: object) -> Dict[str, Any]:
|
|||||||
]),
|
]),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# We re-check "type" here just to avoid it looking
|
||||||
|
# like we have extraneous keys.
|
||||||
checker = check_dict([
|
checker = check_dict([
|
||||||
|
('type', equals('choices')),
|
||||||
('heading', check_string),
|
('heading', check_string),
|
||||||
('choices', check_choices),
|
('choices', check_choices),
|
||||||
])
|
])
|
||||||
|
|||||||
@@ -116,20 +116,20 @@ class WidgetContentTestCase(ZulipTestCase):
|
|||||||
choices=[],
|
choices=[],
|
||||||
)
|
)
|
||||||
|
|
||||||
widget_content = ujson.dumps(
|
widget_content = dict(
|
||||||
dict(
|
widget_type='zform',
|
||||||
widget_type='zform',
|
extra_data=zform_data,
|
||||||
extra_data=zform_data,
|
|
||||||
),
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
check_widget_content(widget_content)
|
||||||
|
|
||||||
payload = dict(
|
payload = dict(
|
||||||
type="stream",
|
type="stream",
|
||||||
to=stream_name,
|
to=stream_name,
|
||||||
client='test suite',
|
client='test suite',
|
||||||
topic='whatever',
|
topic='whatever',
|
||||||
content=content,
|
content=content,
|
||||||
widget_content=widget_content,
|
widget_content=ujson.dumps(widget_content),
|
||||||
)
|
)
|
||||||
result = self.api_post(sender, "/api/v1/messages", payload)
|
result = self.api_post(sender, "/api/v1/messages", payload)
|
||||||
self.assert_json_success(result)
|
self.assert_json_success(result)
|
||||||
|
|||||||
Reference in New Issue
Block a user