Skip to content

[2팀 노정우] [Chapter 1-1] 프레임워크 없이 SPA 만들기 #215

[2팀 노정우] [Chapter 1-1] 프레임워크 없이 SPA 만들기

[2팀 노정우] [Chapter 1-1] 프레임워크 없이 SPA 만들기 #215

Triggered via pull request December 21, 2024 02:37
@melroh629melroh629
synchronize #36
Status Failure
Total duration 8m 19s
Artifacts

ci.yml

on: pull_request_target
Fit to window
Zoom out
Zoom in

Annotations

17 errors and 3 warnings
src/__tests__/basic.test.js: src/__tests__/basic.test.js#L22
TypeError: Cannot set properties of null (setting 'innerHTML') ❯ src/__tests__/basic.test.js:22:45
src/__tests__/basic.test.js > 기본과제 테스트 > 2. 사용자 관리 기능 > 로그인 폼에서 사용자 이름을 입력하고 제출하면 로그인 되고, 로그아웃 버튼 클릭시 로그아웃 된다.: src/__tests__/basic.test.js#L86
AssertionError: expected null to deeply equal '{"username":"testuser","email":"","bi…' - Expected: "{\"username\":\"testuser\",\"email\":\"\",\"bio\":\"\"}" + Received: null ❯ src/__tests__/basic.test.js:86:44
src/__tests__/basic.test.js > 기본과제 테스트 > 3. 프로필 페이지 구현 > 로그인한 사용자의 이름과 소개가 표시된다: src/__tests__/basic.test.js#L117
AssertionError: expected '' to be 'testuser' // Object.is equality - Expected + Received - testuser ❯ src/__tests__/basic.test.js:117:57
src/__tests__/basic.test.js > 기본과제 테스트 > 3. 프로필 페이지 구현 > 프로필 수정 기능이 동작한다: src/__tests__/basic.test.js#L131
AssertionError: expected null to deeply equal '{"username":"testuser","email":"","bi…' - Expected: "{\"username\":\"testuser\",\"email\":\"\",\"bio\":\"Updated bio\"}" + Received: null ❯ src/__tests__/basic.test.js:131:44
src/__tests__/basic.test.js > 기본과제 테스트 > 3. 프로필 페이지 구현 > 프로필 수정 기능이 동작한다: src/__tests__/basic.test.js#L113
TypeError: Cannot read properties of null (reading 'click') ❯ src/__tests__/basic.test.js:113:40
src/__tests__/basic.test.js > 기본과제 테스트 > 5. 상태 관리 구현 > 로그인 상태에 따라 UI가 변경된다: src/__tests__/basic.test.js#L196
AssertionError: expected '\n <main class="bg-gray-100 flex i…' to contain '로그아웃' - Expected + Received - 로그아웃 + + <main class="bg-gray-100 flex items-center justify-center min-h-screen"> + <div class="bg-white p-8 rounded-lg shadow-md w-full max-w-md"> + <h1 class="text-2xl font-bold text-center text-blue-600 mb-8">항해플러스</h1> + <form id="login-form"> + <div class="mb-4"> + <input type="text" id="username" placeholder="이메일 또는 전화번호" class="w-full p-2 border rounded"> + </div> + <div class="mb-6"> + <input type="password" id="password" placeholder="비밀번호" class="w-full p-2 border rounded"> + </div> + <button type="submit" class="w-full bg-blue-600 text-white p-2 rounded font-bold">로그인</button> + </form> + <div class="mt-4 text-center"> + <a href="#" class="text-blue-600 text-sm">비밀번호를 잊으셨나요?</a> + </div> + <hr class="my-6"> + <div class="text-center"> + <button class="bg-green-500 text-white px-4 py-2 rounded font-bold">새 계정 만들기</button> + </div> + </div> + </main> + ❯ src/__tests__/basic.test.js:196:39
basic
Process completed with exit code 1.
src/__tests__/advanced.hashRouter.test.js: src/__tests__/advanced.hashRouter.test.js#L12
TypeError: Cannot set properties of null (setting 'innerHTML') ❯ src/__tests__/advanced.hashRouter.test.js:12:45
src/__tests__/advanced.hashRouter.test.js > 심화과제 > 해시 라우터 테스트 > 1. 라우팅 구현 > "/login" 경로로 접근하면 로그인 페이지가 렌더링된다: src/__tests__/advanced.hashRouter.test.js#L35
AssertionError: expected 1 to be +0 // Object.is equality - Expected + Received - 0 + 1 ❯ src/__tests__/advanced.hashRouter.test.js:35:63
src/__tests__/advanced.hashRouter.test.js > 심화과제 > 해시 라우터 테스트 > 1. 라우팅 구현 > 존재하지 않는 경로로 접근하면 404 페이지가 렌더링된다: src/__tests__/advanced.hashRouter.test.js#L54
AssertionError: expected '\n <div class="bg-gray-100 min-h-s…' to contain '404' - Expected + Received - 404 + + <div class="bg-gray-100 min-h-screen flex justify-center"> + <div class="max-w-md w-full"> + + <header class="bg-blue-600 text-white p-4 sticky top-0"> + <h1 class="text-2xl font-bold">항해플러스</h1> + </header> + <nav class="bg-white shadow-md p-2 sticky top-14"> + <ul class="flex justify-around"> + + <li> + <a href="/" class="text-gray-600">홈</a> + </li> + + <li> + <a href="/profile" class="text-gray-600">프로필</a> + </li> + + <li> + <a href="/login" class="text-gray-600">로그인</a> + </li> + + </ul> + </nav> + + <main class="p-4"> + <div class="mb-4 bg-white rounded-lg shadow p-4"> + <textarea class="w-full p-2 border rounded" placeholder="무슨 생각을 하고 계신가요?"></textarea> + <button class="mt-2 bg-blue-600 text-white px-4 py-2 rounded">게시</button> + </div> + + <div class="space-y-4"> + + <div class="bg-white rounded-lg shadow p-4"> + <div class="flex items-center mb-2"> + <img src="https://via.placeholder.com/40" alt="프로필" class="rounded-full mr-2"> + <div> + <p class="font-bold">홍길동</p> + <p class="text-sm text-gray-500">5분 전</p> + </div> + </div> + <p>오늘 날씨가 정말 좋네요. 다들 좋은 하루 보내세요!</p> + <div class="mt-2 flex justify-between text-gray-500"> + <button>좋아요</button> + <button>댓글</button> + <button>공유</button> + </div> + </div> + + <div class="bg-white rounded-lg shadow p-4"> + <div class="flex items-center mb-2"> + <img src="https://via.placeholder.com/40" alt="프로필" class="rounded-full mr-2"> + <div> + <p class="font-bold">김철수</p> + <p class="text-sm text-gray-500">15분 전</p> + </div> + </div> + <p>새로운 프로젝트를 시작했어요. 열심히 코딩 중입니다!</p> + <div class="mt-2 flex justify-between text-gray-500"> + <button>좋아요</button> + <button>댓글</button> + <button>공유</button> + </div> + </div> + + <div class="bg-white rounded-lg shadow p-4"> + <div class="flex items-center mb-2"> + <img src="https://via.placeholder.com/40" alt="프로필" class="rounded-full mr-2"> + <div> + <p class="font-bold">이영희</p> + <p class="text-sm text-gray-500">30분 전</p> + </div> + </div> + <p>오늘 점심 메뉴 추천 받습니다. 뭐가 좋을까요?</p> + <div class="mt-2 flex justify-between text-gray-500"> + <button>좋아요</button> + <button>댓글</button> + <button>공유</button> + </div> + </div> + + <div class="bg-white rounded-lg shadow p-4"> + <div class="flex items-center mb-2"> + <img src="https://via.placeholder.com/40" alt="프로필" class="rounded-full mr-2"> + <div> + <p class="font-bold">박민수</p> + <p class="text-sm text-gray-500">1시간 전</p> + </div> + </div> + <p>주말에 등산 가실 분 계신가요? 함께 가요!</p> + <div class="mt-2 flex justify-between text-gray-500"> + <button>좋아요</button> + <button>댓글</button> + <button>공유</button> + </div> + </div> + + <div class="bg-white rounded-lg shadow p-4"> + <div class="flex items-center mb-2"> + <img src="https://via.placeholder.com/40" alt="프로필" class="rounded-full mr-2"> + <div> + <p class="font-bold">정수연</p> + <p class="text-sm text-gray-500">2시간 전</p> + </div> +
src/__tests__/advanced.test.js: src/__tests__/advanced.test.js#L21
TypeError: Cannot set properties of null (setting 'innerHTML') ❯ src/__tests__/advanced.test.js:21:45
advacned
Process completed with exit code 1.
e2e
Process completed with exit code 1.
basic
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
advacned
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
e2e
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636