Skip to content
Snippets Groups Projects
Verified Commit 6f420b3b authored by Daniel Hornung's avatar Daniel Hornung
Browse files

ENH: More description in JSX

parent f17eb65d
No related branches found
No related tags found
2 merge requests!89ENH: JsonSchemaExporter accepts do_not_create parameter.,!88jsex / yaml parser
Pipeline #44091 failed
...@@ -368,6 +368,8 @@ class JsonSchemaExporter: ...@@ -368,6 +368,8 @@ class JsonSchemaExporter:
schema["required"] = self._make_required_list(rt) schema["required"] = self._make_required_list(rt)
schema["additionalProperties"] = self._additional_properties schema["additionalProperties"] = self._additional_properties
if rt.description:
schema["description"] = rt.description
if rt.name: if rt.name:
schema["title"] = rt.name schema["title"] = rt.name
......
...@@ -36,14 +36,26 @@ from unittest.mock import Mock, patch ...@@ -36,14 +36,26 @@ from unittest.mock import Mock, patch
from caosadvancedtools.json_schema_exporter import recordtype_to_json_schema as rtjs from caosadvancedtools.json_schema_exporter import recordtype_to_json_schema as rtjs
from caosadvancedtools.models.parser import parse_model_from_string from caosadvancedtools.models.parser import parse_model_from_string
RT1 = parse_model_from_string(""" GLOBAL_MODEL = parse_model_from_string("""
RT1: RT1:
description: some description description: some description
obligatory_properties: obligatory_properties:
some_date: some_date:
datatype: DATETIME datatype: DATETIME
description: Just some date description: Just some date
""").get_deep("RT1") RT21:
obligatory_properties:
RT1:
datatype: LIST<RT1>
RT31:
obligatory_properties:
RT1:
""")
RT1 = GLOBAL_MODEL.get_deep("RT1")
RT21 = GLOBAL_MODEL.get_deep("RT21")
RT31 = GLOBAL_MODEL.get_deep("RT31")
def _mock_execute_query(query_string, unique=False, **kwargs): def _mock_execute_query(query_string, unique=False, **kwargs):
...@@ -82,24 +94,15 @@ def _mock_execute_query(query_string, unique=False, **kwargs): ...@@ -82,24 +94,15 @@ def _mock_execute_query(query_string, unique=False, **kwargs):
elif query_string == "FIND RECORDTYPE WITH name='RT1'" and unique is True: elif query_string == "FIND RECORDTYPE WITH name='RT1'" and unique is True:
return RT1 return RT1
elif query_string == "FIND RECORDTYPE WITH name='RT21'" and unique is True: elif query_string == "FIND RECORDTYPE WITH name='RT21'" and unique is True:
model_str = """ return RT21
RT1: elif query_string == "FIND RECORDTYPE WITH name='RT31'" and unique is True:
RT21: return RT31
obligatory_properties:
RT1:
datatype: LIST<RT1>
RT3:
obligatory_properties:
RT21:
"""
model = parse_model_from_string(model_str)
return model.get_deep("RT21")
elif query_string == "SELECT name, id FROM RECORD": elif query_string == "SELECT name, id FROM RECORD":
return all_records return all_records
elif query_string == "SELECT name, id FROM FILE": elif query_string == "SELECT name, id FROM FILE":
return all_files return all_files
else: else:
# print(f"Query string: {query_string}") print(f"Query string: {query_string}")
if unique is True: if unique is True:
return db.Entity() return db.Entity()
return db.Container() return db.Container()
...@@ -642,6 +645,7 @@ RT2: ...@@ -642,6 +645,7 @@ RT2:
"some_date" "some_date"
], ],
"additionalProperties": true, "additionalProperties": true,
"description": "some description",
"title": "RT1", "title": "RT1",
"properties": { "properties": {
"some_date": { "some_date": {
...@@ -658,8 +662,7 @@ RT2: ...@@ -658,8 +662,7 @@ RT2:
] ]
} }
}, },
"$schema": "https://json-schema.org/draft/2020-12/schema", "$schema": "https://json-schema.org/draft/2020-12/schema"
"description": "some description"
}""" }"""
# Second test: with reference # Second test: with reference
rt2_deep = model.get_deep("RT2") rt2_deep = model.get_deep("RT2")
...@@ -688,6 +691,7 @@ RT2: ...@@ -688,6 +691,7 @@ RT2:
"some_date" "some_date"
], ],
"additionalProperties": true, "additionalProperties": true,
"description": "some description",
"title": "Create new", "title": "Create new",
"properties": { "properties": {
"some_date": { "some_date": {
...@@ -958,6 +962,7 @@ RT3: ...@@ -958,6 +962,7 @@ RT3:
== "{'RT1': {'ui:widget': 'checkboxes', 'ui:options': {'inline': True}}}") == "{'RT1': {'ui:widget': 'checkboxes', 'ui:options': {'inline': True}}}")
@patch("linkahead.execute_query", new=Mock(side_effect=_mock_execute_query))
def test_schema_customization_with_dicts(): def test_schema_customization_with_dicts():
"""Testing the ``additional_json_schema`` and ``additional_ui_schema`` parameters.""" """Testing the ``additional_json_schema`` and ``additional_ui_schema`` parameters."""
model_str = """ model_str = """
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment