feat: expand module workflows, dynamic config, notifications and console API
This commit is contained in:
@@ -71,7 +71,7 @@ def test_content_source_snapshot_manifest_is_complete_and_well_formed() -> None:
|
||||
assert manifest["module"] == "content_marketing"
|
||||
files = manifest["files"]
|
||||
assert isinstance(files, list)
|
||||
assert len(files) == 65
|
||||
assert len(files) == 66
|
||||
|
||||
sources = [entry["source_relative_path"] for entry in files]
|
||||
targets = [entry["target_relative_path"] for entry in files]
|
||||
@@ -116,6 +116,26 @@ def test_content_source_snapshot_targets_exist_and_match_manifest_hashes() -> No
|
||||
assert _sha256(target) == entry["target_sha256"]
|
||||
|
||||
|
||||
def test_content_mapping_snapshot_includes_latest_source_styles() -> None:
|
||||
config_root = MODULE_ROOT / "data" / "config"
|
||||
collaborator = json.loads(
|
||||
(config_root / "款式_多维表格_对照.json").read_text(encoding="utf-8")
|
||||
)
|
||||
self_operated = json.loads(
|
||||
(config_root / "款式_多维表格_对照_自营.json").read_text(encoding="utf-8")
|
||||
)
|
||||
|
||||
collaborator_by_name = {item["name"]: item for item in collaborator["tables"]}
|
||||
self_by_name = {item["name"]: item for item in self_operated["tables"]}
|
||||
assert collaborator_by_name["极星2"]["field_map"]["note_title"] == {
|
||||
"field_id": "fldF40Tdh4",
|
||||
"field_name": "发布笔记标题",
|
||||
}
|
||||
assert collaborator_by_name["极星托特"]["table_id"] == "tbl6L5fNUNsDGGcN"
|
||||
assert self_by_name["凌云3"]["table_id"] == "tblMCT9eDe9QGTP2"
|
||||
assert self_by_name["极星双肩2"]["table_id"] == "tblzVYspLYZHrKMD"
|
||||
|
||||
|
||||
def test_content_source_snapshot_exclusions_cover_runtime_and_sensitive_state() -> None:
|
||||
excluded = {entry["pattern"] for entry in _manifest()["intentionally_excluded"]}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user