Skip to content

test: add draft to ready workflow test file#7

Merged
robb-lee merged 1 commit intomainfrom
test/workflow-draft-to-ready
Nov 4, 2025
Merged

test: add draft to ready workflow test file#7
robb-lee merged 1 commit intomainfrom
test/workflow-draft-to-ready

Conversation

@robb-lee
Copy link
Copy Markdown
Owner

@robb-lee robb-lee commented Nov 4, 2025

Test scenario 2: Draft PR to Ready conversion

  • Validate no review on draft creation
  • Validate review triggers on ready_for_review event
  • Ensure no duplicate reviews occur

Testing workflow conditional logic:
(github.event.action == 'opened' && draft == false) || github.event.action == 'ready_for_review'

🤖 Generated with Claude Code

Test scenario 2: Draft PR to Ready conversion
- Validate no review on draft creation
- Validate review triggers on ready_for_review event
- Ensure no duplicate reviews occur

Testing workflow conditional logic:
(github.event.action == 'opened' && draft == false) ||
github.event.action == 'ready_for_review'

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel bot commented Nov 4, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
quickuuid Ready Ready Preview Comment Nov 4, 2025 6:11am

@robb-lee robb-lee marked this pull request as ready for review November 4, 2025 06:10
@claude
Copy link
Copy Markdown

claude bot commented Nov 4, 2025

📝 PR 리뷰

이 PR을 검토했습니다. 워크플로우 테스트 목적의 파일이지만, 프로젝트의 코드 품질 기준을 위반하는 몇 가지 중요한 문제를 발견했습니다.


🔴 심각한 문제 (Critical Issues)

1. console.log 직접 사용 금지 위반 (test-draft-workflow.ts:7)

문제: console.log('Testing Draft -> Ready PR workflow');

프로젝트의 CLAUDE.md에 명시된 규칙을 위반하고 있습니다:

Never use console.* directly. Use the logger from src/lib/logger.ts

ESLint 설정(eslint.config.mjs:29)에서 no-console: "warn"으로 설정되어 있으며, logger.ts와 tools/ 디렉토리만 예외입니다.

해결 방법:

import { logger } from '@/lib/logger';
logger.info('Testing Draft -> Ready PR workflow');

⚠️ 주요 문제 (Major Issues)

2. 테스트 파일 위치 부적절

문제: test-draft-workflow.ts가 프로젝트 루트에 위치

프로젝트의 테스트 조직 구조를 따르지 않습니다 (CLAUDE.md 참조):

tests/
├── contract/      # API contract validation tests
├── integration/   # Cross-utility integration tests
├── regression/    # Bug regression tests
└── e2e/          # Playwright end-to-end tests

권장 사항:

  • 이 파일이 워크플로우 테스트용이라면 tests/integration/ 또는 새로운 tests/workflow/ 디렉토리로 이동
  • 임시 테스트 파일이라면 .gitignore에 추가하거나 삭제 고려

3. 함수 실행 로직 부재

문제: testDraftToReadyWorkflow() 함수가 export되지만 실행되지 않음

현재 코드는 객체를 반환하기만 하고 실제 테스트를 수행하지 않습니다. 이 파일의 목적이 불분명합니다:

  • Jest 테스트로 사용하려면 describe/it 블록 필요
  • 유틸리티 함수라면 tests/ 디렉토리에 있어야 함
  • 문서/주석용이라면 마크다운 파일이 더 적절

📋 일반 개선 사항 (General Improvements)

4. TypeScript 타입 정의 부족

반환 타입이 명시되지 않았습니다:

export function testDraftToReadyWorkflow(): {
  scenario: string;
  expectedBehavior: string;
  testSteps: Record<string, string>;
} {
  // ...
}

5. 코드 중복

test-workflow.ts와 내용이 유사하여 중복 코드가 발생할 우려가 있습니다. 두 파일의 목적을 명확히 구분하거나 통합을 고려하세요.


✅ 긍정적인 부분

  • 명확한 주석과 단계별 설명
  • 예상 동작에 대한 문서화
  • 시나리오 기반 테스트 구조

📊 보안 및 성능

  • 보안: 문제 없음 (단순 테스트 파일)
  • 성능: 영향 없음

🎯 액션 아이템

머지 전 필수 조치:

  1. console.loglogger.info()로 변경
  2. ✅ ESLint 실행 및 경고 해결: npm run lint
  3. ✅ 파일 위치를 적절한 tests/ 하위 디렉토리로 이동
  4. ✅ 반환 타입 명시 추가
  5. 🤔 이 파일이 실제 테스트 코드인지, 문서인지 목적 명확화

선택 사항:

  • test-workflow.ts와의 관계 정리 및 중복 제거

전체 평가: 워크플로우 테스트 목적은 이해하지만, 프로젝트의 엄격한 코드 품질 기준을 준수하기 위해 위 사항들을 수정해 주세요.

@robb-lee robb-lee merged commit 0e6d691 into main Nov 4, 2025
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant