import json
import sys
from pathlib import Path
sys.path.insert(0, '/opt/struktur/social-media-agent')
from codex_image_qa import parse_qa_response, qa_passes
def test_critical_cable_fail_forces_overall_fail():
payload = {
'technical_device_plausible': 'PASS',
'cables_and_connections': 'FAIL',
'measurement_method': 'PASS',
'anatomy': 'PASS',
'building_geometry': 'PASS',
'topic_match': 'PASS',
'overall': 'PASS',
'failure_reasons': ['Kabel scheint aus der Wand zu entstehen'],
'confidence': 0.9,
}
result = parse_qa_response(json.dumps(payload))
assert result['overall'] == 'FAIL'
assert not qa_passes(result)
def test_all_pass_is_accepted():
payload = {
'technical_device_plausible': 'PASS',
'cables_and_connections': 'PASS',
'measurement_method': 'PASS',
'anatomy': 'PASS',
'building_geometry': 'PASS',
'topic_match': 'PASS',
'overall': 'PASS',
'failure_reasons': [],
'confidence': 0.95,
}
result = parse_qa_response(json.dumps(payload))
assert qa_passes(result)