feat: [flow-tester] VariableBinder에 HR 관련 Faker 타입 추가
- koreanName: 한글 이름 생성 (ko_KR locale 활용) - employeeCode: 사원코드 생성 (EMP-XXXXXX 형식) - departmentName: 부서명 랜덤 생성 - positionName: 직급명 랜덤 생성 - dateRange: 날짜 범위 내 랜덤 날짜 생성 HR Employees CRUD 테스트에서 지원하지 않는 Faker 타입으로 인한 422 오류 및 연쇄적인 405 오류 해결 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -258,6 +258,15 @@ private function generateFakerValue(string $type, string $params): string
|
||||
'unit' => $faker->randomElement(['EA', 'SET', 'BOX', 'KG', 'M', 'L', 'PCS']),
|
||||
'category' => $faker->randomElement(['원자재', '부품', '반제품', '완제품', '소모품']),
|
||||
|
||||
// HR 관련 (별칭 포함)
|
||||
'koreanName' => $faker->name(), // ko_KR locale이므로 한글 이름 생성
|
||||
'employeeCode' => $this->fakerEmployeeCode($paramList),
|
||||
'departmentName' => $faker->randomElement(['개발팀', '영업팀', '인사팀', '재무팀', '마케팅팀', '기획팀']),
|
||||
'positionName' => $faker->randomElement(['사원', '대리', '과장', '차장', '부장', '이사']),
|
||||
|
||||
// 날짜 범위 지원
|
||||
'dateRange' => $this->fakerDateRange($faker, $paramList),
|
||||
|
||||
default => "{{faker.{$type}}}",
|
||||
};
|
||||
}
|
||||
@@ -323,6 +332,38 @@ private function fakerProductName(FakerGenerator $faker): string
|
||||
.$faker->numberBetween(100, 999);
|
||||
}
|
||||
|
||||
/**
|
||||
* 사원코드 생성 (PREFIX-XXXXXX 형식)
|
||||
*
|
||||
* 사용법: {{$faker.employeeCode}} → EMP-123456
|
||||
* {{$faker.employeeCode:STAFF}} → STAFF-123456
|
||||
* {{$faker.employeeCode:EMP:8}} → EMP-12345678
|
||||
*/
|
||||
private function fakerEmployeeCode(array $params): string
|
||||
{
|
||||
$prefix = $params[0] ?? 'EMP';
|
||||
$length = isset($params[1]) ? (int) $params[1] : 6;
|
||||
|
||||
$digits = str_pad((string) random_int(0, (int) pow(10, $length) - 1), $length, '0', STR_PAD_LEFT);
|
||||
|
||||
return $prefix.'-'.$digits;
|
||||
}
|
||||
|
||||
/**
|
||||
* 날짜 범위 내 랜덤 날짜 생성
|
||||
*
|
||||
* 사용법: {{$faker.dateRange:2024-01-01:2024-12-31}}
|
||||
* {{$faker.dateRange:2024-01-01}} → 2024-01-01 ~ 오늘
|
||||
* {{$faker.dateRange}} → 최근 1년 내
|
||||
*/
|
||||
private function fakerDateRange(FakerGenerator $faker, array $params): string
|
||||
{
|
||||
$startDate = $params[0] ?? date('Y-m-d', strtotime('-1 year'));
|
||||
$endDate = $params[1] ?? date('Y-m-d');
|
||||
|
||||
return $faker->dateTimeBetween($startDate, $endDate)->format('Y-m-d');
|
||||
}
|
||||
|
||||
/**
|
||||
* 현재 로그인 사용자의 API 토큰 조회
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user