Skip to content

Commit b4dfffd

Browse files
committed
Fix OpenCRE map analysis hover payload
1 parent 820ff5c commit b4dfffd

2 files changed

Lines changed: 10 additions & 2 deletions

File tree

application/tests/web_main_test.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -810,9 +810,10 @@ def test_gap_analysis_returns_only_direct_opencre_mappings(
810810
self.assertEqual([compare.id], list(payload["result"].keys()))
811811
self.assertEqual(1, len(payload["result"][compare.id]["paths"]))
812812
path = next(iter(payload["result"][compare.id]["paths"].values()))
813+
self.assertEqual(compare.id, payload["result"][compare.id]["start"]["id"])
813814
self.assertEqual(direct_cre.id, path["end"]["id"])
814815
self.assertEqual(direct_cre.name, path["end"]["name"])
815-
self.assertEqual(compare.id, path["path"][0]["start"]["id"])
816+
self.assertEqual("", path["path"][0]["start"]["id"])
816817
self.assertEqual(direct_cre.id, path["path"][0]["end"]["id"])
817818
schedule_mock.assert_not_called()
818819

@@ -877,6 +878,7 @@ def test_gap_analysis_returns_only_direct_opencre_mappings_when_opencre_is_left(
877878
self.assertEqual([direct_cre.id], list(payload["result"].keys()))
878879
self.assertEqual(1, len(payload["result"][direct_cre.id]["paths"]))
879880
path = next(iter(payload["result"][direct_cre.id]["paths"].values()))
881+
self.assertEqual(direct_cre.id, payload["result"][direct_cre.id]["start"]["id"])
880882
self.assertEqual(compare.id, path["end"]["id"])
881883
self.assertEqual(direct_cre.id, path["path"][0]["start"]["id"])
882884
self.assertEqual(compare.id, path["path"][0]["end"]["id"])

application/web/web_main.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -313,11 +313,17 @@ def _get_map_analysis_documents(
313313
def _build_direct_link_path(
314314
start_document: defs.Document, end_document: defs.Document
315315
) -> dict[str, Any]:
316+
segment_start = start_document.shallow_copy()
317+
# The current gap-analysis popup mutates non-CRE row ids during display
318+
# before it resolves the one-step direct path. Keep this direct-link fast
319+
# path compatible by mirroring that display-only shape in the segment start.
320+
if segment_start.doctype != defs.Credoctypes.CRE.value:
321+
segment_start.id = ""
316322
return {
317323
"end": end_document.shallow_copy(),
318324
"path": [
319325
{
320-
"start": start_document.shallow_copy(),
326+
"start": segment_start,
321327
"end": end_document.shallow_copy(),
322328
"relationship": "LINKED_TO",
323329
"score": 0,

0 commit comments

Comments
 (0)