feat(topology): persist complete diagram semantics
This commit is contained in:
@@ -124,6 +124,46 @@ class TopologyApiQueryTests(unittest.TestCase):
|
||||
},
|
||||
)
|
||||
|
||||
def test_layout_contains_members_labels_and_radiators(self) -> None:
|
||||
response = self.client.get(
|
||||
"/api/v1/bases/guanghan/snapshot?mission=GHC-05"
|
||||
)
|
||||
nodes = response.get_json()["layout"]["nodes"]
|
||||
by_key = {node["nodeKey"]: node for node in nodes}
|
||||
|
||||
self.assertEqual(
|
||||
by_key["power_west_group"]["memberKeys"],
|
||||
["isru_module", "mining_module", "ore_fuel_storage"],
|
||||
)
|
||||
self.assertEqual(
|
||||
by_key["power_east_group"]["memberKeys"],
|
||||
["fuel_storage_mod", "centrifuge_mod"],
|
||||
)
|
||||
self.assertEqual(
|
||||
by_key["core_cabin"]["memberKeys"],
|
||||
["core_cabin"],
|
||||
)
|
||||
|
||||
for node in nodes:
|
||||
self.assertIn("displayMeta", node)
|
||||
self.assertIn("displayHint", node)
|
||||
self.assertIn("decorations", node)
|
||||
|
||||
radiator_nodes = {
|
||||
node["nodeKey"]
|
||||
for node in nodes
|
||||
if node["decorations"].get("radiator")
|
||||
}
|
||||
self.assertEqual(
|
||||
radiator_nodes,
|
||||
{
|
||||
"power_storage_rack",
|
||||
"power_west_group",
|
||||
"power_east_group",
|
||||
"nuclear_reactor",
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user