73 lines
2.7 KiB
JSON
73 lines
2.7 KiB
JSON
{
|
|
"fixtures": [
|
|
{
|
|
"name": "required_before_informational",
|
|
"description": "Required validations must be processed before informational ones",
|
|
"input": {
|
|
"validations": [
|
|
{"id": "val-001", "level": "required", "name": "schema_check"},
|
|
{"id": "val-002", "level": "informational", "name": "style_lint"},
|
|
{"id": "val-003", "level": "required", "name": "type_check"},
|
|
{"id": "val-004", "level": "informational", "name": "doc_coverage"}
|
|
],
|
|
"expected_order": ["val-001", "val-003", "val-002", "val-004"]
|
|
},
|
|
"expected_error": null
|
|
},
|
|
{
|
|
"name": "all_informational_ordering_preserved",
|
|
"description": "When all validations are informational, original order is preserved",
|
|
"input": {
|
|
"validations": [
|
|
{"id": "val-010", "level": "informational", "name": "lint_a"},
|
|
{"id": "val-011", "level": "informational", "name": "lint_b"},
|
|
{"id": "val-012", "level": "informational", "name": "lint_c"}
|
|
],
|
|
"expected_order": ["val-010", "val-011", "val-012"]
|
|
},
|
|
"expected_error": null
|
|
},
|
|
{
|
|
"name": "duplicate_attachment_ids_rejected",
|
|
"description": "Two validations with the same attachment ID cause a conflict error",
|
|
"input": {
|
|
"validations": [
|
|
{"id": "val-020", "level": "required", "name": "check_a", "attachment_id": "att-1"},
|
|
{"id": "val-021", "level": "required", "name": "check_b", "attachment_id": "att-1"}
|
|
]
|
|
},
|
|
"expected_error": "duplicate attachment ID: att-1 (used by val-020 and val-021)"
|
|
},
|
|
{
|
|
"name": "duplicate_attachment_ids_across_levels",
|
|
"description": "Duplicate attachment ID across required and informational levels",
|
|
"input": {
|
|
"validations": [
|
|
{"id": "val-030", "level": "required", "name": "schema_check", "attachment_id": "att-shared"},
|
|
{"id": "val-031", "level": "informational", "name": "lint_check", "attachment_id": "att-shared"}
|
|
]
|
|
},
|
|
"expected_error": "duplicate attachment ID: att-shared (used by val-030 and val-031)"
|
|
},
|
|
{
|
|
"name": "empty_validations_list",
|
|
"description": "An empty list of validations is accepted without error",
|
|
"input": {
|
|
"validations": [],
|
|
"expected_order": []
|
|
},
|
|
"expected_error": null
|
|
},
|
|
{
|
|
"name": "unknown_validation_level",
|
|
"description": "Validation with unrecognized level is rejected",
|
|
"input": {
|
|
"validations": [
|
|
{"id": "val-040", "level": "critical", "name": "severity_check"}
|
|
]
|
|
},
|
|
"expected_error": "unknown validation level: critical (expected: required, informational)"
|
|
}
|
|
]
|
|
}
|