Cover full 1C metadata object catalog
This commit is contained in:
@@ -70,6 +70,43 @@ def test_index_project_extracts_1c_metadata_objects(tmp_path: Path):
|
||||
assert any(edge.kind == EdgeKind.HAS_COMMAND for edge in snapshot.edges)
|
||||
|
||||
|
||||
def test_index_project_keeps_extended_1c_metadata_objects(tmp_path: Path):
|
||||
xml = tmp_path / "metadata.xml"
|
||||
xml.write_text(
|
||||
"""
|
||||
<Configuration>
|
||||
<Subsystem name="Продажи" qualifiedName="Подсистема.Продажи" />
|
||||
<Role name="Менеджер" qualifiedName="Роль.Менеджер" />
|
||||
<Sequence name="ПроведениеДокументов" qualifiedName="Последовательность.ПроведениеДокументов" />
|
||||
<DocumentNumerator name="ОбщийНумератор" qualifiedName="НумераторДокументов.ОбщийНумератор" />
|
||||
<CommonForm name="ФормаПодбора" qualifiedName="ОбщаяФорма.ФормаПодбора" />
|
||||
<FunctionalOption name="ДоступностьСкидок" qualifiedName="ФункциональнаяОпция.ДоступностьСкидок" />
|
||||
<WebService name="Обмен" qualifiedName="WebСервис.Обмен" />
|
||||
<WSReference name="ВнешнийСервис" qualifiedName="WSСсылка.ВнешнийСервис" />
|
||||
<WebSocketClient name="Чат" qualifiedName="WebSocketКлиент.Чат" />
|
||||
<IntegrationService name="Интеграция" qualifiedName="СервисИнтеграции.Интеграция" />
|
||||
</Configuration>
|
||||
""",
|
||||
encoding="utf-8",
|
||||
)
|
||||
|
||||
snapshot = index_project(tmp_path, project_id="extended-metadata")
|
||||
by_kind = {node.kind for node in snapshot.nodes}
|
||||
|
||||
assert {
|
||||
NodeKind.SUBSYSTEM,
|
||||
NodeKind.ROLE,
|
||||
NodeKind.SEQUENCE,
|
||||
NodeKind.DOCUMENT_NUMERATOR,
|
||||
NodeKind.COMMON_FORM,
|
||||
NodeKind.FUNCTIONAL_OPTION,
|
||||
NodeKind.WEB_SERVICE,
|
||||
NodeKind.WS_REFERENCE,
|
||||
NodeKind.WEBSOCKET_CLIENT,
|
||||
NodeKind.INTEGRATION_SERVICE,
|
||||
}.issubset(by_kind)
|
||||
|
||||
|
||||
def test_index_project_remaps_edges_from_duplicate_metadata_nodes(tmp_path: Path):
|
||||
first = tmp_path / "first.xml"
|
||||
first.write_text(
|
||||
|
||||
Reference in New Issue
Block a user