Files
sam-docs/plans/flow-tests/item-fields-is-active-test.json
hskwon 9b665c0d5a docs: 플로우 테스트 파일 이동 및 계획 문서 추가
- api에서 플로우 테스트 JSON 파일들 이동
- 더미 데이터 시딩 계획 추가
- 견적 자동 계산 개발 계획 추가
- 기존 계획 문서 업데이트
2025-12-24 08:54:52 +09:00

173 lines
4.5 KiB
JSON

{
"name": "ItemField is_active 컬럼 검증 테스트",
"description": "item_fields 테이블에 추가된 is_active 컬럼의 기능을 검증합니다. 필드 생성 시 기본값(true), 수정, 조회 시 is_active 필드 포함 여부를 테스트합니다.",
"version": "1.0",
"config": {
"baseUrl": "https://api.sam.kr/api/v1",
"apiKey": "{{$env.FLOW_TESTER_API_KEY}}",
"timeout": 30000,
"stopOnFailure": true
},
"variables": {
"user_id": "{{$env.FLOW_TESTER_USER_ID}}",
"user_pwd": "{{$env.FLOW_TESTER_USER_PWD}}"
},
"steps": [
{
"id": "login",
"name": "1. 로그인 - 인증 토큰 획득",
"method": "POST",
"endpoint": "/login",
"body": {
"user_id": "{{user_id}}",
"user_pwd": "{{user_pwd}}"
},
"expect": {
"status": [200],
"jsonPath": {
"$.message": "로그인 성공",
"$.access_token": "@isString"
}
},
"extract": {
"token": "$.access_token"
}
},
{
"id": "get_fields_list",
"name": "2. 필드 목록 조회 - is_active 필드 포함 확인",
"method": "GET",
"endpoint": "/item-master/fields",
"headers": {
"Authorization": "Bearer {{login.token}}"
},
"expect": {
"status": [200],
"jsonPath": {
"$.success": true,
"$.data": "@isArray"
}
},
"extract": {
"existingFieldId": "$.data[0].id",
"fieldCount": "$.data.length"
}
},
{
"id": "create_field",
"name": "3. 독립 필드 생성 - is_active 기본값 true 확인",
"method": "POST",
"endpoint": "/item-master/fields",
"headers": {
"Authorization": "Bearer {{login.token}}"
},
"body": {
"field_name": "[테스트] is_active 검증 필드",
"field_type": "textbox",
"field_key": "test_is_active",
"is_required": false,
"placeholder": "is_active 기본값 테스트",
"description": "API Flow Tester에서 생성한 테스트 필드"
},
"expect": {
"status": [200, 201],
"jsonPath": {
"$.success": true,
"$.data.id": "@isNumber",
"$.data.field_name": "[테스트] is_active 검증 필드",
"$.data.is_active": true
}
},
"extract": {
"newFieldId": "$.data.id"
}
},
{
"id": "verify_field_created",
"name": "4. 생성된 필드 상세 확인 - is_active=true",
"method": "GET",
"endpoint": "/item-master/fields",
"headers": {
"Authorization": "Bearer {{login.token}}"
},
"expect": {
"status": [200],
"jsonPath": {
"$.success": true
}
},
"extract": {
"allFields": "$.data"
}
},
{
"id": "update_field_inactive",
"name": "5. 필드 비활성화 - is_active=false로 수정",
"method": "PUT",
"endpoint": "/item-master/fields/{{create_field.newFieldId}}",
"headers": {
"Authorization": "Bearer {{login.token}}"
},
"body": {
"is_active": false
},
"expect": {
"status": [200],
"jsonPath": {
"$.success": true,
"$.data.is_active": false
}
}
},
{
"id": "verify_field_inactive",
"name": "6. 비활성화 상태 확인",
"method": "GET",
"endpoint": "/item-master/fields",
"headers": {
"Authorization": "Bearer {{login.token}}"
},
"expect": {
"status": [200],
"jsonPath": {
"$.success": true
}
}
},
{
"id": "update_field_active",
"name": "7. 필드 재활성화 - is_active=true로 수정",
"method": "PUT",
"endpoint": "/item-master/fields/{{create_field.newFieldId}}",
"headers": {
"Authorization": "Bearer {{login.token}}"
},
"body": {
"is_active": true
},
"expect": {
"status": [200],
"jsonPath": {
"$.success": true,
"$.data.is_active": true
}
}
},
{
"id": "delete_test_field",
"name": "8. 테스트 필드 삭제 (정리)",
"method": "DELETE",
"endpoint": "/item-master/fields/{{create_field.newFieldId}}",
"headers": {
"Authorization": "Bearer {{login.token}}"
},
"expect": {
"status": [200],
"jsonPath": {
"$.success": true
}
}
}
]
}