diff --git a/tests/test_integration_rule_surfacing.py b/tests/test_integration_rule_surfacing.py index cf1302e..1825954 100644 --- a/tests/test_integration_rule_surfacing.py +++ b/tests/test_integration_rule_surfacing.py @@ -118,6 +118,19 @@ async def test_co_surfaces_drags_in_the_half_that_would_have_been_missed(world): "A name decides nothing.", when_to_apply="when naming a build", ) + # TAGGED TO AN AREA THIS PROJECT DOES NOT WORK IN, which is what makes the + # test able to fail at all. Since milestone 394 an UNTAGGED rule in a + # subscribed rulebook applies on its own, so an untagged partner arrives + # through the ordinary query and the edge is never exercised — the + # assertion below passed while proving nothing, which is how this was + # noticed. Tagging it puts it out of reach of everything except the edge. + area = await canonical_svc.find_by_name("CI & Release") + assert area is not None, "migration 0087 seeds the standard vocabulary" + await rulebooks_svc.set_rule_systems(partner.id, world["owner"], [area.id]) + assert "Version names are labels" not in await _titles(world), ( + "the partner must be unreachable on its own, or this test cannot fail" + ) + await rulebooks_svc.add_rule_relation( world["owner"], world["plain"], partner.id, "co_surfaces", note="they fail together", @@ -132,6 +145,9 @@ async def test_co_surfaces_drags_in_the_half_that_would_have_been_missed(world): async def test_a_suppression_outranks_an_edge(world): """The edge says these belong together; the suppression says this project does not want that one. An explicit decision beats an inferred one.""" + # Untagged on purpose, unlike the partner above: this test is about the + # SUPPRESSION winning, so the partner should be one that would otherwise + # arrive by every available route — the ordinary query AND the edge. partner = await rulebooks_svc.create_rule( world["topic"], world["owner"], "Muted partner", "Should not arrive.", )