UI can now build an approved profile by hand

This commit is contained in:
2026-04-26 02:26:34 +02:00
parent 6da0e8966b
commit 6b7c6443ae
7 changed files with 794 additions and 1 deletions

View File

@@ -61,6 +61,65 @@ def test_manual_registry_builds_ability_map(tmp_path):
assert capability.evidence[0].strength == "strong"
def test_manual_registry_updates_and_deletes_approved_entries(tmp_path):
service = make_service(tmp_path)
repository = service.register_repository(
name="Manual",
url="https://example.com/manual.git",
description="Manual registry fixture.",
)
ability_id = service.add_ability(repository.id, name="Original Ability")
capability_id = service.add_capability(
repository.id,
ability_id,
name="Original Capability",
)
feature_id = service.add_feature(
repository.id,
capability_id,
name="Original Feature",
type="API",
)
evidence_id = service.add_evidence(
repository.id,
capability_id,
type="test",
reference="tests/test_original.py",
)
service.update_ability(repository.id, ability_id, name="Updated Ability")
service.update_capability(
repository.id,
capability_id,
name="Updated Capability",
inputs=["request"],
outputs=["response"],
)
service.update_feature(repository.id, feature_id, location="src/api.py")
ability_map = service.update_evidence(
repository.id,
evidence_id,
strength="strong",
)
ability = ability_map.abilities[0]
capability = ability.capabilities[0]
assert ability.name == "Updated Ability"
assert capability.name == "Updated Capability"
assert capability.inputs == ["request"]
assert capability.outputs == ["response"]
assert capability.features[0].location == "src/api.py"
assert capability.evidence[0].strength == "strong"
service.delete_feature(repository.id, feature_id)
service.delete_evidence(repository.id, evidence_id)
ability_map = service.delete_capability(repository.id, capability_id)
assert ability_map.abilities[0].capabilities == []
ability_map = service.delete_ability(repository.id, ability_id)
assert ability_map.abilities == []
def test_repository_update_and_delete(tmp_path):
service = make_service(tmp_path)
repository = service.register_repository(