201 lines
5.2 KiB
JSON
201 lines
5.2 KiB
JSON
{
|
|
"name": "회사 가입 신청 플로우",
|
|
"description": "사업자번호 확인 → 가입 신청 → 내 신청 목록 → 승인/거절 플로우 테스트",
|
|
"version": "1.0",
|
|
"config": {
|
|
"baseUrl": "",
|
|
"timeout": 30000,
|
|
"stopOnFailure": true
|
|
},
|
|
"variables": {
|
|
"user_id": "{{$env.FLOW_TESTER_USER_ID}}",
|
|
"user_pwd": "{{$env.FLOW_TESTER_USER_PWD}}",
|
|
"test_business_number": "123-45-67890"
|
|
},
|
|
"steps": [
|
|
{
|
|
"id": "login",
|
|
"name": "로그인",
|
|
"method": "POST",
|
|
"endpoint": "/api/v1/login",
|
|
"body": {
|
|
"user_id": "{{user_id}}",
|
|
"user_pwd": "{{user_pwd}}"
|
|
},
|
|
"expect": {
|
|
"status": [200],
|
|
"jsonPath": {
|
|
"$.access_token": "@isString"
|
|
}
|
|
},
|
|
"extract": {
|
|
"token": "$.access_token"
|
|
}
|
|
},
|
|
{
|
|
"id": "check_business_number",
|
|
"name": "사업자번호 확인",
|
|
"description": "가입 가능한 회사인지 사업자번호로 확인",
|
|
"method": "POST",
|
|
"endpoint": "/api/v1/companies/check",
|
|
"headers": {
|
|
"Authorization": "Bearer {{login.token}}"
|
|
},
|
|
"body": {
|
|
"business_number": "{{test_business_number}}"
|
|
},
|
|
"expect": {
|
|
"status": [200],
|
|
"jsonPath": {
|
|
"$.success": true
|
|
}
|
|
},
|
|
"extract": {
|
|
"company_exists": "$.data.exists",
|
|
"company_id": "$.data.company_id"
|
|
}
|
|
},
|
|
{
|
|
"id": "submit_request",
|
|
"name": "회사 가입 신청",
|
|
"method": "POST",
|
|
"endpoint": "/api/v1/companies/request",
|
|
"headers": {
|
|
"Authorization": "Bearer {{login.token}}"
|
|
},
|
|
"body": {
|
|
"company_id": "{{check_business_number.company_id}}",
|
|
"department": "개발팀",
|
|
"position": "개발자",
|
|
"message": "Flow 테스트용 가입 신청입니다."
|
|
},
|
|
"expect": {
|
|
"status": [200, 201],
|
|
"jsonPath": {
|
|
"$.success": true
|
|
}
|
|
},
|
|
"extract": {
|
|
"request_id": "$.data.id"
|
|
},
|
|
"continueOnFailure": true
|
|
},
|
|
{
|
|
"id": "get_my_requests",
|
|
"name": "내 신청 목록 조회",
|
|
"method": "GET",
|
|
"endpoint": "/api/v1/companies/my-requests",
|
|
"headers": {
|
|
"Authorization": "Bearer {{login.token}}"
|
|
},
|
|
"expect": {
|
|
"status": [200],
|
|
"jsonPath": {
|
|
"$.success": true
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "get_request_detail",
|
|
"name": "신청 상세 조회",
|
|
"method": "GET",
|
|
"endpoint": "/api/v1/companies/requests/{{submit_request.request_id}}",
|
|
"headers": {
|
|
"Authorization": "Bearer {{login.token}}"
|
|
},
|
|
"expect": {
|
|
"status": [200],
|
|
"jsonPath": {
|
|
"$.success": true,
|
|
"$.data.id": "@isNumber"
|
|
}
|
|
},
|
|
"continueOnFailure": true
|
|
},
|
|
{
|
|
"id": "approve_request",
|
|
"name": "신청 승인 (관리자)",
|
|
"description": "관리자 권한으로 가입 신청 승인",
|
|
"method": "POST",
|
|
"endpoint": "/api/v1/companies/requests/{{submit_request.request_id}}/approve",
|
|
"headers": {
|
|
"Authorization": "Bearer {{login.token}}"
|
|
},
|
|
"body": {
|
|
"role_id": 2,
|
|
"department_id": 1,
|
|
"approved_message": "승인되었습니다."
|
|
},
|
|
"expect": {
|
|
"status": [200, 403],
|
|
"jsonPath": {
|
|
"$.success": "@isBoolean"
|
|
}
|
|
},
|
|
"continueOnFailure": true
|
|
},
|
|
{
|
|
"id": "submit_another_request",
|
|
"name": "거절 테스트용 신청",
|
|
"method": "POST",
|
|
"endpoint": "/api/v1/companies/request",
|
|
"headers": {
|
|
"Authorization": "Bearer {{login.token}}"
|
|
},
|
|
"body": {
|
|
"company_id": "{{check_business_number.company_id}}",
|
|
"department": "영업팀",
|
|
"position": "매니저",
|
|
"message": "거절 테스트용 신청입니다."
|
|
},
|
|
"expect": {
|
|
"status": [200, 201, 400, 422],
|
|
"jsonPath": {
|
|
"$.success": "@isBoolean"
|
|
}
|
|
},
|
|
"extract": {
|
|
"reject_request_id": "$.data.id"
|
|
},
|
|
"continueOnFailure": true
|
|
},
|
|
{
|
|
"id": "reject_request",
|
|
"name": "신청 거절 (관리자)",
|
|
"description": "관리자 권한으로 가입 신청 거절",
|
|
"method": "POST",
|
|
"endpoint": "/api/v1/companies/requests/{{submit_another_request.reject_request_id}}/reject",
|
|
"headers": {
|
|
"Authorization": "Bearer {{login.token}}"
|
|
},
|
|
"body": {
|
|
"reason": "테스트 거절 사유"
|
|
},
|
|
"expect": {
|
|
"status": [200, 403],
|
|
"jsonPath": {
|
|
"$.success": "@isBoolean"
|
|
}
|
|
},
|
|
"continueOnFailure": true
|
|
},
|
|
{
|
|
"id": "verify_rejection",
|
|
"name": "거절 상태 확인",
|
|
"method": "GET",
|
|
"endpoint": "/api/v1/companies/requests/{{submit_another_request.reject_request_id}}",
|
|
"headers": {
|
|
"Authorization": "Bearer {{login.token}}"
|
|
},
|
|
"expect": {
|
|
"status": [200],
|
|
"jsonPath": {
|
|
"$.success": true,
|
|
"$.data.status": "rejected"
|
|
}
|
|
},
|
|
"continueOnFailure": true
|
|
}
|
|
]
|
|
}
|