109 lines
2.8 KiB
JSON
109 lines
2.8 KiB
JSON
{
|
|
"webhook": "my-check",
|
|
"cases": [
|
|
{
|
|
"name": "직원 CSV · 9줄 중 4줄 통과",
|
|
"request": "requests/employees-new.json",
|
|
"expect": {
|
|
"equals": {
|
|
"schema": "employee",
|
|
"total": 9,
|
|
"valid": 4,
|
|
"rows.6.ok": true
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "직원 CSV · 줄마다 이유",
|
|
"request": "requests/employees-new.json",
|
|
"expect": {
|
|
"contains": {
|
|
"rows.2.errors": "bad_format:email",
|
|
"rows.3.errors": "not_allowed:dept",
|
|
"rows.4.errors": "bad_format:joined",
|
|
"rows.5.errors": "missing:name",
|
|
"rows.7.errors": "duplicate_in_batch"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "같은 워크플로우로 FAQ 스키마",
|
|
"body": {
|
|
"schema": "faq",
|
|
"batch": "B-3",
|
|
"items": [
|
|
{
|
|
"id": "FAQ-301",
|
|
"title": "택배 수령",
|
|
"keywords": [
|
|
"택배"
|
|
],
|
|
"answer": "회사로 온 택배는 1층 안내 데스크에서 사원증을 보여 주고 받습니다."
|
|
},
|
|
{
|
|
"id": "FAQ-302",
|
|
"title": "주차 등록",
|
|
"keywords": [
|
|
"주차"
|
|
],
|
|
"answer": "주차 등록은 총무팀 포털에서 차량 번호를 적어 신청합니다."
|
|
},
|
|
{
|
|
"id": "FAQ-303",
|
|
"title": "명함 신청",
|
|
"keywords": [
|
|
"명함"
|
|
],
|
|
"answer": "명함은 인사 포털에서 신청하면 일주일 안에 자리로 배달됩니다."
|
|
},
|
|
{
|
|
"id": "FAQ-304",
|
|
"title": "사내 식당 메뉴",
|
|
"keywords": [
|
|
"식당",
|
|
"메뉴"
|
|
],
|
|
"answer": "사내 식당 메뉴는 매주 월요일 아침 사내 게시판에 올라옵니다."
|
|
},
|
|
{
|
|
"id": "FAQ-305",
|
|
"title": "교육 신청",
|
|
"keywords": [
|
|
"교육"
|
|
],
|
|
"answer": "짧"
|
|
},
|
|
{
|
|
"id": "FAQ-306",
|
|
"title": "건강검진",
|
|
"keywords": [
|
|
"건강검진"
|
|
],
|
|
"answer": "건강검진은 매년 9월에 인사팀이 안내하며 지정 병원에서 받습니다."
|
|
}
|
|
]
|
|
},
|
|
"expect": {
|
|
"equals": {
|
|
"schema": "faq",
|
|
"total": 6,
|
|
"valid": 5
|
|
},
|
|
"contains": {
|
|
"rows.4.errors": "too_short:answer"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "모르는 스키마 → 400",
|
|
"body": {
|
|
"schema": "invoice",
|
|
"items": []
|
|
},
|
|
"expect": {
|
|
"status": 400
|
|
}
|
|
}
|
|
]
|
|
}
|