feat: restore source parity and harden agent runtime
This commit is contained in:
@@ -0,0 +1,119 @@
|
||||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
"""convert 引擎单元测试(可直接 python -m 运行)"""
|
||||
from online_dev.report_manager.engine.convert import transform
|
||||
|
||||
|
||||
def test_parameter_and_list_down():
|
||||
snapshot = {
|
||||
"sheetOrder": ["sheet1"],
|
||||
"sheets": {
|
||||
"sheet1": {
|
||||
"id": "sheet1",
|
||||
"cellData": {"0": {"0": {"v": "Title"}}},
|
||||
},
|
||||
},
|
||||
}
|
||||
cells = {
|
||||
"cells": [
|
||||
{
|
||||
"type": "parameter",
|
||||
"sheet": "sheet1",
|
||||
"row": 0,
|
||||
"col": 1,
|
||||
"custom": {"value": "#{userName}"},
|
||||
},
|
||||
{
|
||||
"type": "dataSource",
|
||||
"sheet": "sheet1",
|
||||
"row": 1,
|
||||
"col": 0,
|
||||
"custom": {
|
||||
"dataSetName": "users",
|
||||
"field": "name",
|
||||
"expand": "down",
|
||||
},
|
||||
},
|
||||
],
|
||||
}
|
||||
datasets = {
|
||||
"users": [{"name": "Alice"}, {"name": "Bob"}],
|
||||
}
|
||||
result = transform(snapshot, cells, datasets, {"userName": "Admin"})
|
||||
cd = result["sheets"]["sheet1"]["cellData"]
|
||||
assert cd["0"]["1"]["v"] == "Admin"
|
||||
assert cd["1"]["0"]["v"] == "Alice"
|
||||
assert cd["2"]["0"]["v"] == "Bob"
|
||||
print("ok")
|
||||
|
||||
|
||||
def test_list_right_expand():
|
||||
snapshot = {
|
||||
"sheetOrder": ["sheet1"],
|
||||
"sheets": {
|
||||
"sheet1": {
|
||||
"id": "sheet1",
|
||||
"cellData": {"0": {"0": {"v": "H"}}},
|
||||
},
|
||||
},
|
||||
}
|
||||
cells = {
|
||||
"cells": [
|
||||
{
|
||||
"type": "dataSource",
|
||||
"sheet": "sheet1",
|
||||
"row": 0,
|
||||
"col": 1,
|
||||
"custom": {
|
||||
"dataSetName": "items",
|
||||
"field": "name",
|
||||
"expand": "right",
|
||||
},
|
||||
},
|
||||
],
|
||||
}
|
||||
datasets = {"items": [{"name": "A"}, {"name": "B"}]}
|
||||
result = transform(snapshot, cells, datasets, {})
|
||||
cd = result["sheets"]["sheet1"]["cellData"]
|
||||
assert cd["0"]["1"]["v"] == "A"
|
||||
assert cd["0"]["2"]["v"] == "B"
|
||||
print("right ok")
|
||||
|
||||
|
||||
def test_fill_empty_rows_after_list_down():
|
||||
snapshot = {
|
||||
"sheets": {
|
||||
"sheet1": {
|
||||
"id": "sheet1",
|
||||
"cellData": {"1": {"0": {"v": ""}}},
|
||||
}
|
||||
}
|
||||
}
|
||||
cells = {
|
||||
"cells": [
|
||||
{
|
||||
"type": "dataSource",
|
||||
"sheet": "sheet1",
|
||||
"row": 1,
|
||||
"col": 0,
|
||||
"custom": {
|
||||
"dataSetName": "items",
|
||||
"field": "name",
|
||||
"expand": "down",
|
||||
"fillEmptyRows": True,
|
||||
"fillEmptyNum": 1,
|
||||
},
|
||||
}
|
||||
]
|
||||
}
|
||||
result = transform(
|
||||
snapshot, cells, {"items": [{"name": "X"}]}, {}
|
||||
)
|
||||
cd = result["sheets"]["sheet1"]["cellData"]
|
||||
assert cd["1"]["0"]["v"] == "X"
|
||||
assert cd["2"]["0"]["v"] == ""
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
test_parameter_and_list_down()
|
||||
test_list_right_expand()
|
||||
Reference in New Issue
Block a user