Fix Markdown port checks and distinguish review parsing errors

This commit is contained in:
Mikei386
2026-09-24 22:06:14 +02:00
parent 4f45015b1c
commit 973af816ab
2 changed files with 46 additions and 8 deletions
+25
View File
@@ -112,3 +112,28 @@ def test_failed_final_review_labels_corrected_draft():
r,_=run([BAD,json.dumps({'issues':ISSUES}),ORIGINAL,503])
assert r['review']['draft_kind']=='corrected'
assert r['review']['failed_stage']=='final_review'
def test_markdown_port_and_prose_slash_regression():
from atelier.provider import literal_checks
assert literal_checks('Use port 8099 for retro games.', 'Use **port** **8099** for 8-bit/retro games.') == []
assert literal_checks('port 8099', 'port **8080**')
assert literal_checks('at /app/data', 'at /app/new')
def test_fenced_review_json_is_accepted():
r,_=run([ORIGINAL,'```json\n{"issues": []}\n```'])
assert r['review']['status']=='passed'
def test_quote_wrapping_does_not_fail_validation():
issues=[{'description':'Zeit verändert','original_quote':'There is no\ntime limit.','draft_quote':'Time limit: 5 hours.'}]
r,_=run([BAD,json.dumps({'issues':issues}),ORIGINAL,'{"issues":[]}'])
assert r['review']['status']=='corrected'
@pytest.mark.parametrize('output,code', [('oops','ReviewInvalidJSON'),('{"issues":false}','ReviewInvalidSchema'),('{"issues":[{"description":"Problem","original_quote":"fabricated","draft_quote":""}]}','ReviewQuoteMismatch')])
def test_review_errors_distinguishable(output,code,caplog):
r,_=run([BAD,output])
assert r['review']['status']=='unchecked'
assert code in caplog.text