[2팀 노정우] [Chapter 1-1] 프레임워크 없이 SPA 만들기 #195
Annotations
14 errors and 3 warnings
src/__tests__/basic.test.js > 기본과제 테스트 > 1. 라우팅 구현 > 로그인이 되지 않은 상태에서 "/profile" 경로로 접근하면, 로그인 페이지로 리다이렉션 된다.:
src/__tests__/basic.test.js#L63
AssertionError: expected 1 to be +0 // Object.is equality
- Expected
+ Received
- 0
+ 1
❯ src/__tests__/basic.test.js:63:63
|
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#L127
TypeError: Cannot read properties of null (reading 'dispatchEvent')
❯ src/__tests__/basic.test.js:127:19
|
src/__tests__/basic.test.js > 기본과제 테스트 > 5. 상태 관리 구현 > 로그인 상태에 따라 UI가 변경된다:
src/__tests__/basic.test.js#L196
AssertionError: expected '<div id="root">\n <main class="bg-gr…' to contain '로그아웃'
- Expected
+ Received
- 로그아웃
+ <div id="root">
+ <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" required="">
+ </div>
+ <div class="mb-6">
+ <input type="password" id="password" placeholder="비밀번호" class="w-full p-2 border rounded" required="">
+ </div>
+ <button type="submit" id="logIn" 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>
+ </div>
❯ src/__tests__/basic.test.js:196:39
|
basic
Process completed with exit code 1.
|
src/__tests__/advanced.hashRouter.test.js > 심화과제 > 해시 라우터 테스트 > 1. 라우팅 구현 > "/" 경로로 접근하면 홈 페이지가 렌더링된다:
src/__tests__/advanced.hashRouter.test.js#L26
AssertionError: expected +0 to be 1 // Object.is equality
- Expected
+ Received
- 1
+ 0
❯ src/__tests__/advanced.hashRouter.test.js:26:30
|
src/__tests__/advanced.hashRouter.test.js > 심화과제 > 해시 라우터 테스트 > 1. 라우팅 구현 > "/login" 경로로 접근하면 로그인 페이지가 렌더링된다:
src/__tests__/advanced.hashRouter.test.js#L36
AssertionError: expected +0 to be 1 // Object.is equality
- Expected
+ Received
- 1
+ 0
❯ src/__tests__/advanced.hashRouter.test.js:36:36
|
src/__tests__/advanced.hashRouter.test.js > 심화과제 > 해시 라우터 테스트 > 1. 라우팅 구현 > 로그인이 되지 않은 상태에서 "/profile" 경로로 접근하면, 로그인 페이지로 리다이렉션 된다.:
src/__tests__/advanced.hashRouter.test.js#L48
AssertionError: expected +0 to be 1 // Object.is equality
- Expected
+ Received
- 1
+ 0
❯ src/__tests__/advanced.hashRouter.test.js:48:36
|
src/__tests__/advanced.hashRouter.test.js > 심화과제 > 해시 라우터 테스트 > 1. 라우팅 구현 > 존재하지 않는 경로로 접근하면 404 페이지가 렌더링된다:
src/__tests__/advanced.hashRouter.test.js#L54
AssertionError: expected '<div id="root"></div>' to contain '404'
Expected: "404"
Received: "<div id="root"></div>"
❯ src/__tests__/advanced.hashRouter.test.js:54:39
|
src/__tests__/advanced.test.js > 심화과제 테스트 > 2. 라우트 가드 구현 > 비로그인 사용자가 프로필 페이지에 접근시 로그인 페이지로 리다이렉트 한다.:
src/__tests__/advanced.test.js#L46
AssertionError: expected '<div id="root">\n <div id="root">\…' to contain '로그인'
- Expected
+ Received
- 로그인
+ <div id="root">
+ <div id="root">
+ <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" id="logout">로그아웃</a></li>
+ </ul>
+ </nav>
+
+ <main class="p-4">
+ <div class="bg-white p-8 rounded-lg shadow-md">
+ <h2 class="text-2xl font-bold text-center text-blue-600 mb-8">
+ 내 프로필
+ </h2>
+ <form id="profileForm">
+ <div class="mb-4">
+ <label for="username" class="block text-gray-700 text-sm font-bold mb-2">사용자 이름</label>
+ <input type="text" id="username" name="username" class="w-full p-2 border rounded">
+ </div>
+ <div class="mb-4">
+ <label for="email" class="block text-gray-700 text-sm font-bold mb-2">이메일</label>
+ <input type="email" id="email" name="email" class="w-full p-2 border rounded">
+ </div>
+ <div class="mb-6">
+ <label for="bio" class="block text-gray-700 text-sm font-bold mb-2">자기소개</label>
+ <textarea id="bio" name="bio" rows="4" class="w-full p-2 border rounded"></textarea>
+ </div>
+ <button id="profileUpdate" type="submit" class="w-full bg-blue-600 text-white p-2 rounded font-bold">
+ 프로필 업데이트
+ </button>
+ </form>
+ </div>
+ </main>
+
+
+ <footer class="bg-gray-200 p-4 text-center">
+ <p>© 2024 항해플러스. All rights reserved.</p>
+ </footer>
+
+ </div>
+ </div>
+ </div>
+ </div>
❯ src/__tests__/advanced.test.js:46:39
|
src/__tests__/advanced.test.js > 심화과제 테스트 > 2. 라우트 가드 구현 > 로그인된 사용자가 로그인 페이지에 접근시 메인 페이지로 리다이렉트 한다.:
src/__tests__/advanced.test.js#L62
TypeError: Cannot read properties of null (reading 'innerHTML')
❯ src/__tests__/advanced.test.js:62:63
|
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
|