Decode SCD grouping nodes
This commit is contained in:
@@ -219,6 +219,7 @@ def test_scd_payload_decoder_reads_xml_after_platform_prefix() -> None:
|
||||
<field><dataPath>Сумма</dataPath></field>
|
||||
<calculatedField><name>СуммаСНалогом</name><expression>Сумма * 1.2</expression></calculatedField>
|
||||
<resource><name>Сумма</name><expression>Сумма</expression></resource>
|
||||
<group>Период</group>
|
||||
<totalField>Сумма</totalField>
|
||||
<settingsVariant><name>Основной</name></settingsVariant>
|
||||
</dataCompositionSchema></SchemaFile>"""
|
||||
@@ -232,6 +233,7 @@ def test_scd_payload_decoder_reads_xml_after_platform_prefix() -> None:
|
||||
assert result["sections"]["parameters"] == [{"name": "Период", "source": {"kind": "scd_xml", "path": "/dataCompositionSchema[1]/parameter"}, "value_type": "xs:dateTime"}]
|
||||
assert result["sections"]["datasets"][0]["query"] == "ВЫБРАТЬ &Период КАК Период // &Скрытый КАК Скрытый"
|
||||
assert result["sections"]["calculated_fields"][0]["expression"] == "Сумма * 1.2"
|
||||
assert result["sections"]["groupings"] == [{"name": "Период", "source": {"kind": "scd_xml", "path": "/dataCompositionSchema[1]/group"}}]
|
||||
assert result["sections"]["variants"][0]["name"] == "Основной"
|
||||
assert result["analysis"]["query_parameter_references"] == [{"dataset": "ОсновнойНабор", "parameters": ["Период"]}]
|
||||
assert result["analysis"]["schema_outline"] == {
|
||||
@@ -241,12 +243,13 @@ def test_scd_payload_decoder_reads_xml_after_platform_prefix() -> None:
|
||||
{"tag": "dataSet", "count": 1, "paths": ["/dataCompositionSchema[1]/dataSet"]},
|
||||
{"tag": "dataSource", "count": 1, "paths": ["/dataCompositionSchema[1]/dataSource"]},
|
||||
{"tag": "field", "count": 2, "paths": ["/dataCompositionSchema[1]/field", "/dataCompositionSchema[1]/field[2]"]},
|
||||
{"tag": "group", "count": 1, "paths": ["/dataCompositionSchema[1]/group"]},
|
||||
{"tag": "parameter", "count": 1, "paths": ["/dataCompositionSchema[1]/parameter"]},
|
||||
{"tag": "resource", "count": 1, "paths": ["/dataCompositionSchema[1]/resource"]},
|
||||
{"tag": "settingsVariant", "count": 1, "paths": ["/dataCompositionSchema[1]/settingsVariant"]},
|
||||
{"tag": "totalField", "count": 1, "paths": ["/dataCompositionSchema[1]/totalField"]},
|
||||
],
|
||||
"all_tag_counts": {"calculatedField": 1, "dataCompositionSchema": 1, "dataPath": 2, "dataSet": 1, "dataSource": 1, "dataSourceType": 1, "expression": 2, "field": 2, "name": 6, "parameter": 1, "query": 1, "resource": 1, "settingsVariant": 1, "totalField": 1, "valueType": 1},
|
||||
"all_tag_counts": {"calculatedField": 1, "dataCompositionSchema": 1, "dataPath": 2, "dataSet": 1, "dataSource": 1, "dataSourceType": 1, "expression": 2, "field": 2, "group": 1, "name": 6, "parameter": 1, "query": 1, "resource": 1, "settingsVariant": 1, "totalField": 1, "valueType": 1},
|
||||
}
|
||||
assert result["analysis"]["referenced_not_declared_in_schema"] == []
|
||||
assert result["analysis"]["total_field_references"] == {"fields": ["Сумма"], "missing_from_declared_fields": [], "status": "checked"}
|
||||
|
||||
Reference in New Issue
Block a user