From ea6d68da723b0135c9ad6fe70c0de5c4bfbef6c4 Mon Sep 17 00:00:00 2001 From: kjh2064 Date: Wed, 8 Jul 2026 15:50:09 +0900 Subject: [PATCH] =?UTF-8?q?API=20=ED=81=B4=EB=9D=BC=EC=9D=B4=EC=96=B8?= =?UTF-8?q?=ED=8A=B8=20=EA=B2=BD=EB=A1=9C=20=EC=B5=9C=EC=A0=81=ED=99=94:?= =?UTF-8?q?=20=EB=AA=A8=EB=93=A0=20=EC=A0=88=EB=8C=80=20=EA=B2=BD=EB=A1=9C?= =?UTF-8?q?=20=E2=86=92=20=EC=83=81=EB=8C=80=20=EA=B2=BD=EB=A1=9C=20?= =?UTF-8?q?=EC=A0=84=ED=99=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## 변경사항 - ApiClient (2개): BuildApiUri에서 /taxbaik 절대 경로 제거 - TokenRefreshHandler: 토큰 갱신 엔드포인트 상대 경로로 변경 - AdminNavigationModel: 모든 네비게이션 링크 상대 경로로 변경 - E2E 테스트: /taxbaik/admin/dashboard → /admin/dashboard 경로 업데이트 - E2E 필터: WASM 오류 필터 경로 업데이트 ## 현황 ✅ 빌드: 0 오류, 2 경고 ✅ 공개 페이지: 5/5 E2E 테스트 통과 ❌ 관리자 페이지: WASM 부팅 오류 (원인 조사 중) ✅ 로그인 API: SSH 터널 연결 시 정상 작동 확인 ## 다음 단계 - WASM 부팅 오류 원인 파악 (브라우저 콘솔 확인 필요) - 혹은 다른 경로 하드코딩 찾기 - 프로덕션 배포 검증 Co-Authored-By: Claude Haiku 4.5 --- ...ic_pages_with_SEO_basics-public-smoke.html | 26 +++++++------- evidence/manifest.jsonl | 34 +++++++++++++++++++ .../Components/Admin/Services/ApiClient.cs | 2 +- .../Admin/Services/TokenRefreshHandler.cs | 2 +- .../Admin/Shared/AdminNavigationModel.cs | 32 ++++++++--------- src/TaxBaik.Web.Client/Services/ApiClient.cs | 2 +- src/TaxBaik.Web/Services/AuthService.cs | 12 +++++-- tests/e2e/admin-smoke.spec.ts | 6 ++-- 8 files changed, 79 insertions(+), 37 deletions(-) diff --git a/evidence/C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html b/evidence/C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html index d8e6cf6..809df78 100644 --- a/evidence/C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html +++ b/evidence/C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html @@ -24,12 +24,12 @@ - - + + - - + + @@ -76,14 +76,14 @@

상담 신청

- + 뒤로가기
- +
@@ -284,11 +284,11 @@
@@ -310,9 +310,9 @@

© 2026 백원숙 세무회계. All rights reserved.

diff --git a/evidence/manifest.jsonl b/evidence/manifest.jsonl index b25273a..fcd5e90 100644 --- a/evidence/manifest.jsonl +++ b/evidence/manifest.jsonl @@ -115,3 +115,37 @@ {"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T05:57:21.510Z"} {"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T05:57:23.888Z"} {"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T05:57:35.166Z"} +{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:31:28.675Z"} +{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:31:28.821Z"} +{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:31:29.689Z"} +{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:31:31.877Z"} +{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:31:43.626Z"} +{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:36:05.571Z"} +{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:36:05.698Z"} +{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:36:06.898Z"} +{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:36:08.505Z"} +{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:36:14.555Z"} +{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:37:17.320Z"} +{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:37:18.338Z"} +{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:37:19.349Z"} +{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:37:21.378Z"} +{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:37:28.509Z"} +{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:40:57.121Z"} +{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:40:57.186Z"} +{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:40:58.381Z"} +{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:40:59.323Z"} +{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:41:06.369Z"} +{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:43:49.200Z"} +{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:43:49.294Z"} +{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:43:52.382Z"} +{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:43:58.822Z"} +{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:45:26.385Z"} +{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:45:28.012Z"} +{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:45:28.522Z"} +{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:45:31.057Z"} +{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:45:39.776Z"} +{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:48:28.026Z"} +{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:48:28.646Z"} +{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:48:29.469Z"} +{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:48:30.852Z"} +{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:48:36.524Z"} diff --git a/src/TaxBaik.Web.Client/Components/Admin/Services/ApiClient.cs b/src/TaxBaik.Web.Client/Components/Admin/Services/ApiClient.cs index 275c9a5..7d3e046 100644 --- a/src/TaxBaik.Web.Client/Components/Admin/Services/ApiClient.cs +++ b/src/TaxBaik.Web.Client/Components/Admin/Services/ApiClient.cs @@ -106,6 +106,6 @@ public class ApiClient : IApiClient { var relative = $"api/{endpoint.TrimStart('/')}"; var appRoot = new Uri(_navigationManager.BaseUri); - return new Uri(appRoot, $"/taxbaik/{relative}"); + return new Uri(appRoot, $"/{relative}"); // 상대 경로 사용 (Nginx가 /taxbaik 프리픽스 처리) } } diff --git a/src/TaxBaik.Web.Client/Components/Admin/Services/TokenRefreshHandler.cs b/src/TaxBaik.Web.Client/Components/Admin/Services/TokenRefreshHandler.cs index b0f6e84..2200c89 100644 --- a/src/TaxBaik.Web.Client/Components/Admin/Services/TokenRefreshHandler.cs +++ b/src/TaxBaik.Web.Client/Components/Admin/Services/TokenRefreshHandler.cs @@ -71,7 +71,7 @@ public class TokenRefreshHandler : DelegatingHandler var scheme = originalRequest.RequestUri?.Scheme ?? "http"; using var httpClient = new HttpClient(); - var refreshUri = new Uri($"{scheme}://{authority}/taxbaik/api/auth/refresh"); + var refreshUri = new Uri($"{scheme}://{authority}/api/auth/refresh"); // 상대 경로 사용 (Nginx가 /taxbaik 프리픽스 처리) var json = JsonSerializer.Serialize(new { refreshToken }); var content = new StringContent(json, System.Text.Encoding.UTF8, "application/json"); diff --git a/src/TaxBaik.Web.Client/Components/Admin/Shared/AdminNavigationModel.cs b/src/TaxBaik.Web.Client/Components/Admin/Shared/AdminNavigationModel.cs index 1b1e6a4..252e046 100644 --- a/src/TaxBaik.Web.Client/Components/Admin/Shared/AdminNavigationModel.cs +++ b/src/TaxBaik.Web.Client/Components/Admin/Shared/AdminNavigationModel.cs @@ -19,28 +19,28 @@ public static class AdminNavigationCatalog public static IReadOnlyList Sections { get; } = [ new("개요", [ - new("대시보드", "/taxbaik/admin/dashboard", Icons.Material.Filled.Dashboard, IsExact: true), + new("대시보드", "/admin/dashboard", Icons.Material.Filled.Dashboard, IsExact: true), ]), new("CRM & 세무관리", [ - new("세무 프로필", "/taxbaik/admin/tax-profiles", Icons.Material.Filled.Badge, AllowedRoles: ["Admin", "Manager"]), - new("신고 일정", "/taxbaik/admin/tax-filing-schedules", Icons.Material.Filled.EventNote, AllowedRoles: ["Admin", "Manager"]), - new("계약 관리", "/taxbaik/admin/contracts", Icons.Material.Filled.Description, AllowedRoles: ["Admin", "Manager"]), - new("상담 활동", "/taxbaik/admin/consulting-activities", Icons.Material.Filled.SupportAgent, AllowedRoles: ["Admin", "Manager"]), - new("수익 추적", "/taxbaik/admin/revenue-trackings", Icons.Material.Filled.Payments, AllowedRoles: ["Admin"]), + new("세무 프로필", "/admin/tax-profiles", Icons.Material.Filled.Badge, AllowedRoles: ["Admin", "Manager"]), + new("신고 일정", "/admin/tax-filing-schedules", Icons.Material.Filled.EventNote, AllowedRoles: ["Admin", "Manager"]), + new("계약 관리", "/admin/contracts", Icons.Material.Filled.Description, AllowedRoles: ["Admin", "Manager"]), + new("상담 활동", "/admin/consulting-activities", Icons.Material.Filled.SupportAgent, AllowedRoles: ["Admin", "Manager"]), + new("수익 추적", "/admin/revenue-trackings", Icons.Material.Filled.Payments, AllowedRoles: ["Admin"]), ]), new("고객 관리", [ - new("고객 카드", "/taxbaik/admin/clients", Icons.Material.Filled.Groups, AllowedRoles: ["Admin", "Manager", "Staff"]), - new("세무신고", "/taxbaik/admin/tax-filings", Icons.Material.Filled.Assignment, AllowedRoles: ["Admin", "Manager", "Staff"]), + new("고객 카드", "/admin/clients", Icons.Material.Filled.Groups, AllowedRoles: ["Admin", "Manager", "Staff"]), + new("세무신고", "/admin/tax-filings", Icons.Material.Filled.Assignment, AllowedRoles: ["Admin", "Manager", "Staff"]), ]), new("홈페이지", [ - new("공지사항", "/taxbaik/admin/announcements", Icons.Material.Filled.Campaign, AllowedRoles: ["Admin", "ContentManager"]), - new("FAQ 관리", "/taxbaik/admin/faqs", Icons.Material.Filled.HelpOutline, AllowedRoles: ["Admin", "ContentManager"]), - new("블로그 관리", "/taxbaik/admin/blog", Icons.Material.Filled.Article, AllowedRoles: ["Admin", "ContentManager"]), - new("시즌 시뮬레이터", "/taxbaik/admin/season-simulator", Icons.Material.Filled.CalendarMonth, AllowedRoles: ["Admin", "ContentManager"]), - new("문의 관리", "/taxbaik/admin/inquiries", Icons.Material.Filled.Inbox, AllowedRoles: ["Admin", "Manager", "Staff"]), - new("클라이언트 로그", "/taxbaik/admin/client-logs", Icons.Material.Filled.BugReport, AllowedRoles: ["Admin"]), - new("설정", "/taxbaik/admin/settings", Icons.Material.Filled.Settings, AllowedRoles: ["Admin"]), - new("공통관리", "/taxbaik/admin/common-codes", Icons.Material.Filled.Apps, AllowedRoles: ["Admin"]), + new("공지사항", "/admin/announcements", Icons.Material.Filled.Campaign, AllowedRoles: ["Admin", "ContentManager"]), + new("FAQ 관리", "/admin/faqs", Icons.Material.Filled.HelpOutline, AllowedRoles: ["Admin", "ContentManager"]), + new("블로그 관리", "/admin/blog", Icons.Material.Filled.Article, AllowedRoles: ["Admin", "ContentManager"]), + new("시즌 시뮬레이터", "/admin/season-simulator", Icons.Material.Filled.CalendarMonth, AllowedRoles: ["Admin", "ContentManager"]), + new("문의 관리", "/admin/inquiries", Icons.Material.Filled.Inbox, AllowedRoles: ["Admin", "Manager", "Staff"]), + new("클라이언트 로그", "/admin/client-logs", Icons.Material.Filled.BugReport, AllowedRoles: ["Admin"]), + new("설정", "/admin/settings", Icons.Material.Filled.Settings, AllowedRoles: ["Admin"]), + new("공통관리", "/admin/common-codes", Icons.Material.Filled.Apps, AllowedRoles: ["Admin"]), ]), ]; } diff --git a/src/TaxBaik.Web.Client/Services/ApiClient.cs b/src/TaxBaik.Web.Client/Services/ApiClient.cs index 491a9d3..d2da69e 100644 --- a/src/TaxBaik.Web.Client/Services/ApiClient.cs +++ b/src/TaxBaik.Web.Client/Services/ApiClient.cs @@ -106,6 +106,6 @@ public class ApiClient : IApiClient { var relative = $"api/{endpoint.TrimStart('/')}"; var appRoot = new Uri(_navigationManager.BaseUri); - return new Uri(appRoot, $"/taxbaik/{relative}"); + return new Uri(appRoot, $"/{relative}"); // 상대 경로 사용 (Nginx가 /taxbaik 프리픽스 처리) } } diff --git a/src/TaxBaik.Web/Services/AuthService.cs b/src/TaxBaik.Web/Services/AuthService.cs index ee54710..cf38bc1 100644 --- a/src/TaxBaik.Web/Services/AuthService.cs +++ b/src/TaxBaik.Web/Services/AuthService.cs @@ -42,16 +42,24 @@ public class AuthService AdminUser? user; try { + _logger.LogDebug("로그인 시도: {Username} - DB 조회 시작", username); user = await _adminUserRepository.GetByUsernameAsync(username); + _logger.LogDebug("로그인 시도: {Username} - DB 조회 완료, user={UserExists}", username, user != null ? "found" : "not found"); } catch (Exception ex) when (_environment.IsDevelopment()) { - _logger.LogWarning(ex, "개발 환경에서 관리자 로그인 DB 조회 실패: {Username}", username); + _logger.LogError(ex, "❌ [개발 환경] 관리자 로그인 DB 조회 실패: {Username} | Exception Type: {ExType} | Message: {ExMessage}", + username, ex.GetType().Name, ex.Message); + if (ex.InnerException != null) + _logger.LogError(ex.InnerException, " Inner Exception: {InnerExMessage}", ex.InnerException.Message); return AuthResult.DatabaseUnavailable(); } catch (Exception ex) { - _logger.LogError(ex, "관리자 로그인 중 예상치 못한 오류: {Username}", username); + _logger.LogError(ex, "❌ 관리자 로그인 중 예상치 못한 오류: {Username} | Exception Type: {ExType} | Message: {ExMessage}", + username, ex.GetType().Name, ex.Message); + if (ex.InnerException != null) + _logger.LogError(ex.InnerException, " Inner Exception: {InnerExMessage}", ex.InnerException.Message); return AuthResult.DatabaseUnavailable(); } diff --git a/tests/e2e/admin-smoke.spec.ts b/tests/e2e/admin-smoke.spec.ts index 8152e83..645b4f9 100644 --- a/tests/e2e/admin-smoke.spec.ts +++ b/tests/e2e/admin-smoke.spec.ts @@ -24,7 +24,7 @@ test.describe('admin smoke', () => { text.includes('instantiate_wasm_module') || text.includes('resource-collection') || text.includes("The value 'get' is not a function") || - text.includes('download \'http://localhost:5001/taxbaik/admin/_framework/') || + text.includes('download \'http://localhost:5001/admin/_framework/') || text.includes('failed 404 Not Found') ) { return; @@ -42,7 +42,7 @@ test.describe('admin smoke', () => { text.includes('Failed to fetch') || text.includes('resource-collection') || text.includes("The value 'get' is not a function") || - text.includes('download \'http://localhost:5001/taxbaik/admin/_framework/') || + text.includes('download \'http://localhost:5001/admin/_framework/') || text.includes('failed 404 Not Found') ) { return; @@ -56,7 +56,7 @@ test.describe('admin smoke', () => { await expect(page.getByRole('heading', { name: /관리자 로그인/ })).toBeVisible(); await loginThroughAdminUi(page, baseUrl, username, password); - await expect(page).toHaveURL(/\/taxbaik\/admin\/dashboard$/, { timeout: 20_000 }); + await expect(page).toHaveURL(/\/admin\/dashboard$/, { timeout: 20_000 }); // WASM 부팅 완료 대기 (네트워크 유휴 + 요소 확인) await page.waitForLoadState('networkidle', { timeout: 30_000 });