fix: deprecated window.__API_LOGS__ → window.__E2E__.getApiLogs() 패턴 수정 (17개 파일)

- approval-box, edge-rapid-click-acc-sales, full-crud-* (4개)
- hr-salary-long-term-care, production-work-order
- quality-inspection, quality-performance-report
- reload-persist-acc-deposit, sales-management
- sales-order-bulk-delete, sales-order, sales-quotation
- system-dashboard, vendor-management
- 전체 209/209 ALL PASS 검증 완료

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
김보곤
2026-03-04 11:42:23 +09:00
parent ed9e6270cc
commit f42cf4ab7d
17 changed files with 43 additions and 43 deletions

View File

@@ -100,7 +100,7 @@
"id": 12,
"name": "[회계관리 > 입금관리] [CREATE] API POST 검증",
"action": "evaluate",
"script": "(async()=>{const w=ms=>new Promise(r=>setTimeout(r,ms));await w(500);const R={phase:'API_POST_CHECK'};const logs=window.__API_LOGS__||[];const postLogs=logs.filter(l=>l.method==='POST'&&l.status>=200&&l.status<300);R.postCount=postLogs.length;R.found=postLogs.length>0;if(postLogs.length>0){const last=postLogs[postLogs.length-1];R.url=last.url?.substring(0,80);R.status=last.status;R.duration=last.duration;}R.ok=true;R.info=R.found?'✅ POST '+R.status+' ('+R.duration+'ms)':'⚠️ POST 미감지 (API 모니터 범위 밖일 수 있음)';return JSON.stringify(R);})()",
"script": "(async()=>{const w=ms=>new Promise(r=>setTimeout(r,ms));await w(500);const R={phase:'API_POST_CHECK'};const logs=(window.__E2E__?window.__E2E__.getApiLogs().logs:[]);const postLogs=logs.filter(l=>l.method==='POST'&&l.status>=200&&l.status<300);R.postCount=postLogs.length;R.found=postLogs.length>0;if(postLogs.length>0){const last=postLogs[postLogs.length-1];R.url=last.url?.substring(0,80);R.status=last.status;R.duration=last.duration;}R.ok=true;R.info=R.found?'✅ POST '+R.status+' ('+R.duration+'ms)':'⚠️ POST 미감지 (API 모니터 범위 밖일 수 있음)';return JSON.stringify(R);})()",
"timeout": 5000,
"phase": "VERIFY"
},
@@ -198,7 +198,7 @@
"id": 25,
"name": "[회계관리 > 입금관리] [UPDATE] API PUT/PATCH 검증",
"action": "evaluate",
"script": "(async()=>{const w=ms=>new Promise(r=>setTimeout(r,ms));await w(500);const R={phase:'API_PUT_CHECK'};const logs=window.__API_LOGS__||[];const putLogs=logs.filter(l=>(l.method==='PUT'||l.method==='PATCH')&&l.status>=200&&l.status<300);R.putCount=putLogs.length;R.found=putLogs.length>0;if(putLogs.length>0){const last=putLogs[putLogs.length-1];R.url=last.url?.substring(0,80);R.status=last.status;R.duration=last.duration;}R.ok=true;R.info=R.found?'✅ PUT/PATCH '+R.status+' ('+R.duration+'ms)':'⚠️ PUT/PATCH 미감지';return JSON.stringify(R);})()",
"script": "(async()=>{const w=ms=>new Promise(r=>setTimeout(r,ms));await w(500);const R={phase:'API_PUT_CHECK'};const logs=(window.__E2E__?window.__E2E__.getApiLogs().logs:[]);const putLogs=logs.filter(l=>(l.method==='PUT'||l.method==='PATCH')&&l.status>=200&&l.status<300);R.putCount=putLogs.length;R.found=putLogs.length>0;if(putLogs.length>0){const last=putLogs[putLogs.length-1];R.url=last.url?.substring(0,80);R.status=last.status;R.duration=last.duration;}R.ok=true;R.info=R.found?'✅ PUT/PATCH '+R.status+' ('+R.duration+'ms)':'⚠️ PUT/PATCH 미감지';return JSON.stringify(R);})()",
"timeout": 5000,
"phase": "VERIFY"
},
@@ -243,7 +243,7 @@
"id": 31,
"name": "[회계관리 > 입금관리] [DELETE] API DELETE 검증",
"action": "evaluate",
"script": "(async()=>{const w=ms=>new Promise(r=>setTimeout(r,ms));await w(500);const R={phase:'API_DELETE_CHECK'};const logs=window.__API_LOGS__||[];const delLogs=logs.filter(l=>l.method==='DELETE'&&l.status>=200&&l.status<300);R.deleteCount=delLogs.length;R.found=delLogs.length>0;if(delLogs.length>0){const last=delLogs[delLogs.length-1];R.url=last.url?.substring(0,80);R.status=last.status;R.duration=last.duration;}R.ok=true;R.info=R.found?'✅ DELETE '+R.status+' ('+R.duration+'ms)':'⚠️ DELETE 미감지';return JSON.stringify(R);})()",
"script": "(async()=>{const w=ms=>new Promise(r=>setTimeout(r,ms));await w(500);const R={phase:'API_DELETE_CHECK'};const logs=(window.__E2E__?window.__E2E__.getApiLogs().logs:[]);const delLogs=logs.filter(l=>l.method==='DELETE'&&l.status>=200&&l.status<300);R.deleteCount=delLogs.length;R.found=delLogs.length>0;if(delLogs.length>0){const last=delLogs[delLogs.length-1];R.url=last.url?.substring(0,80);R.status=last.status;R.duration=last.duration;}R.ok=true;R.info=R.found?'✅ DELETE '+R.status+' ('+R.duration+'ms)':'⚠️ DELETE 미감지';return JSON.stringify(R);})()",
"timeout": 5000,
"phase": "VERIFY"
},
@@ -273,7 +273,7 @@
"id": 35,
"name": "[회계관리 > 입금관리] [VERIFY] API 호출 전체 요약",
"action": "evaluate",
"script": "(()=>{const logs=window.__API_LOGS__||[];const R={phase:'API_SUMMARY',total:logs.length,success:logs.filter(l=>l.ok||l.status<400).length,failed:logs.filter(l=>!l.ok&&l.status>=400).length,avgResponseTime:logs.length>0?Math.round(logs.reduce((s,l)=>s+(l.duration||0),0)/logs.length):0,slowCalls:logs.filter(l=>l.duration>2000).length,methods:{}};logs.forEach(l=>{R.methods[l.method]=(R.methods[l.method]||0)+1;});R.ok=true;R.info='API: '+R.total+'건 (성공:'+R.success+' 실패:'+R.failed+' 평균:'+R.avgResponseTime+'ms)';return JSON.stringify(R);})()",
"script": "(()=>{const logs=(window.__E2E__?window.__E2E__.getApiLogs().logs:[]);const R={phase:'API_SUMMARY',total:logs.length,success:logs.filter(l=>l.ok||l.status<400).length,failed:logs.filter(l=>!l.ok&&l.status>=400).length,avgResponseTime:logs.length>0?Math.round(logs.reduce((s,l)=>s+(l.duration||0),0)/logs.length):0,slowCalls:logs.filter(l=>l.duration>2000).length,methods:{}};logs.forEach(l=>{R.methods[l.method]=(R.methods[l.method]||0)+1;});R.ok=true;R.info='API: '+R.total+'건 (성공:'+R.success+' 실패:'+R.failed+' 평균:'+R.avgResponseTime+'ms)';return JSON.stringify(R);})()",
"timeout": 5000,
"phase": "VERIFY"
}