Compare commits
9 Commits
4c4ec9cf09
...
ebda875371
| Author | SHA1 | Date | |
|---|---|---|---|
| ebda875371 | |||
| 14cf59263f | |||
| 3b055bbc93 | |||
| e72ca4b8a0 | |||
| e9c970422a | |||
| 11d78aff22 | |||
| ea6d68da72 | |||
| 91014a5ae3 | |||
| 3153d3c095 |
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"permissions": {
|
||||
"allow": [
|
||||
"Bash(*)",
|
||||
"PowerShell(*)",
|
||||
"Read",
|
||||
"Write",
|
||||
"Edit",
|
||||
"Glob",
|
||||
"Grep",
|
||||
"WebFetch",
|
||||
"WebSearch"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,240 @@
|
||||
# TaxBaik 경로 최적화 배포 가이드
|
||||
|
||||
## 📋 개요
|
||||
|
||||
**상대 경로 최적화** 이후 운영 서버 Nginx 설정을 자동으로 수정합니다.
|
||||
|
||||
- **변경 사항**: `/taxbaik` 프리픽스를 Nginx에서 제거하도록 설정
|
||||
- **영향 범위**: Nginx 설정 파일만 수정 (앱 코드 변경 없음)
|
||||
- **복구 방법**: 자동 백업 생성 (롤백 가능)
|
||||
|
||||
---
|
||||
|
||||
## 🚀 빠른 배포 (자동화)
|
||||
|
||||
### Step 1: 스크립트 실행
|
||||
|
||||
운영 서버에서:
|
||||
|
||||
```bash
|
||||
# 스크립트 다운로드 & 실행
|
||||
ssh kjh2064@178.104.200.7
|
||||
cd /home/kjh2064
|
||||
curl -L https://raw.githubusercontent.com/kjh2064/taxbaik/master/scripts/fix-nginx-taxbaik.sh -o fix-nginx.sh
|
||||
chmod +x fix-nginx.sh
|
||||
sudo ./fix-nginx.sh
|
||||
```
|
||||
|
||||
또는 로컬에서:
|
||||
|
||||
```bash
|
||||
# 로컬에서 스크립트 업로드 및 실행
|
||||
scp scripts/fix-nginx-taxbaik.sh kjh2064@178.104.200.7:/tmp/
|
||||
ssh kjh2064@178.104.200.7 "sudo /tmp/fix-nginx-taxbaik.sh"
|
||||
```
|
||||
|
||||
### Step 2: 자동 검증
|
||||
|
||||
스크립트가 다음을 자동으로 수행합니다:
|
||||
|
||||
- ✅ 백업 생성
|
||||
- ✅ Nginx 설정 수정
|
||||
- ✅ 문법 검증
|
||||
- ✅ Nginx 재로드
|
||||
- ✅ 결과 확인
|
||||
|
||||
---
|
||||
|
||||
## 🔧 수동 배포 (필요 시)
|
||||
|
||||
### Nginx 설정 수정
|
||||
|
||||
**파일**: `/etc/nginx/sites-available/taxbaik-domains.conf`
|
||||
|
||||
**변경 전** ❌:
|
||||
```nginx
|
||||
location /taxbaik {
|
||||
proxy_pass http://127.0.0.1:5001;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "Upgrade";
|
||||
# ... 나머지 설정
|
||||
}
|
||||
```
|
||||
|
||||
**변경 후** ✅:
|
||||
```nginx
|
||||
location /taxbaik/ {
|
||||
proxy_pass http://127.0.0.1:5001/;
|
||||
rewrite ^/taxbaik/(.*)$ /$1 break;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "Upgrade";
|
||||
# ... 나머지 설정
|
||||
}
|
||||
```
|
||||
|
||||
**적용**:
|
||||
```bash
|
||||
# 1. 백업 생성
|
||||
sudo cp /etc/nginx/sites-available/taxbaik-domains.conf /etc/nginx/sites-available/taxbaik-domains.conf.backup
|
||||
|
||||
# 2. 설정 수정 (위 내용으로 편집)
|
||||
sudo nano /etc/nginx/sites-available/taxbaik-domains.conf
|
||||
|
||||
# 3. 문법 검증
|
||||
sudo nginx -t
|
||||
|
||||
# 4. Nginx 재로드
|
||||
sudo systemctl reload nginx
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ✅ 배포 후 검증
|
||||
|
||||
### 1. Nginx 설정 확인
|
||||
|
||||
```bash
|
||||
# 설정 내용 확인
|
||||
sudo grep -A 5 "location /taxbaik" /etc/nginx/sites-available/taxbaik-domains.conf
|
||||
|
||||
# 예상 출력:
|
||||
# location /taxbaik/ {
|
||||
# proxy_pass http://127.0.0.1:5001/;
|
||||
# rewrite ^/taxbaik/(.*)$ /$1 break;
|
||||
```
|
||||
|
||||
### 2. 웹사이트 접속 확인
|
||||
|
||||
```bash
|
||||
# 공개 사이트
|
||||
curl -I http://www.taxbaik.com/taxbaik/
|
||||
# 예상: HTTP 200
|
||||
|
||||
# 관리자 로그인
|
||||
curl -I http://www.taxbaik.com/taxbaik/admin/login
|
||||
# 예상: HTTP 200
|
||||
```
|
||||
|
||||
### 3. E2E 테스트
|
||||
|
||||
```bash
|
||||
# 로컬에서 운영 서버 테스트
|
||||
export E2E_BASE_URL="http://www.taxbaik.com"
|
||||
npx playwright test tests/e2e/admin-smoke.spec.ts tests/e2e/public-smoke.spec.ts
|
||||
```
|
||||
|
||||
### 4. 실제 브라우저 확인
|
||||
|
||||
- [ ] 공개 사이트: http://www.taxbaik.com/taxbaik/
|
||||
- [ ] 로그인 페이지: http://www.taxbaik.com/taxbaik/admin/login
|
||||
- [ ] 로그인 후 대시보드: http://www.taxbaik.com/taxbaik/admin/dashboard
|
||||
- [ ] 메뉴 네비게이션 정상 작동
|
||||
- [ ] API 호출 정상 (네트워크 탭 확인)
|
||||
|
||||
---
|
||||
|
||||
## 🔙 롤백 방법
|
||||
|
||||
설정 변경 후 문제가 발생하면:
|
||||
|
||||
```bash
|
||||
# 자동 스크립트로 수정했을 경우:
|
||||
# - 백업 파일명: /etc/nginx/sites-available/taxbaik-domains.conf.backup.YYYYMMDD_HHMMSS
|
||||
sudo cp /etc/nginx/sites-available/taxbaik-domains.conf.backup.YYYYMMDD_HHMMSS /etc/nginx/sites-available/taxbaik-domains.conf
|
||||
|
||||
# 또는 수동 설정으로 변경했을 경우:
|
||||
sudo cp /etc/nginx/sites-available/taxbaik-domains.conf.backup /etc/nginx/sites-available/taxbaik-domains.conf
|
||||
|
||||
# Nginx 재로드
|
||||
sudo systemctl reload nginx
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📊 기술 상세
|
||||
|
||||
### 왜 이 변경이 필요한가?
|
||||
|
||||
1. **코드 변경**: PathBase 제거 → 앱이 `/taxbaik` 경로를 인식하지 않음
|
||||
2. **로컬 동작**: localhost:5001에서는 `/admin/...`로 바로 접속
|
||||
3. **운영 문제**: Nginx가 `/taxbaik` 프리픽스를 전달 → 경로 충돌
|
||||
|
||||
### 해결 원리
|
||||
|
||||
```
|
||||
요청 경로: /taxbaik/admin/login
|
||||
↓ (rewrite 규칙)
|
||||
변환: /admin/login
|
||||
↓ (proxy_pass)
|
||||
앱 수신: http://127.0.0.1:5001/admin/login
|
||||
↓ (base href="/taxbaik/admin/")
|
||||
브라우저 렌더: /taxbaik/admin/...
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📝 체크리스트
|
||||
|
||||
배포 전:
|
||||
|
||||
- [ ] `git push origin master` 완료
|
||||
- [ ] CI/CD 빌드 성공
|
||||
- [ ] 운영 서버 배포 완료
|
||||
|
||||
배포 후:
|
||||
|
||||
- [ ] Nginx 설정 변경 완료 (또는 스크립트 실행)
|
||||
- [ ] `sudo nginx -t` 문법 검증 성공
|
||||
- [ ] `sudo systemctl reload nginx` 재로드 성공
|
||||
- [ ] 공개 사이트 HTTP 200 확인
|
||||
- [ ] 관리자 로그인 페이지 HTTP 200 확인
|
||||
- [ ] E2E 테스트 통과 (또는 브라우저 수동 테스트)
|
||||
|
||||
---
|
||||
|
||||
## 🆘 문제 해결
|
||||
|
||||
### 증상: 404 오류 (Nginx 적용 전)
|
||||
|
||||
```
|
||||
원인: Nginx가 /taxbaik을 제거하지 않음
|
||||
해결: 위 "배포" 단계 실행
|
||||
```
|
||||
|
||||
### 증상: Nginx 문법 오류
|
||||
|
||||
```
|
||||
해결:
|
||||
1. 백업에서 복구
|
||||
2. 문법 재확인
|
||||
3. sudo nginx -t 로 검증
|
||||
4. 스크립트 다시 실행
|
||||
```
|
||||
|
||||
### 증상: 재로드 실패
|
||||
|
||||
```
|
||||
원인: 다른 설정 충돌
|
||||
해결:
|
||||
1. sudo systemctl status nginx 로 상태 확인
|
||||
2. sudo journalctl -u nginx -n 50 로 로그 확인
|
||||
3. 백업에서 복구
|
||||
4. 기술팀 연락
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📞 기술 지원
|
||||
|
||||
문제 발생 시:
|
||||
|
||||
1. 로그 수집: `sudo journalctl -u nginx -n 100 > /tmp/nginx.log`
|
||||
2. Nginx 상태: `sudo systemctl status nginx`
|
||||
3. 포트 확인: `sudo netstat -tlnp | grep 5001`
|
||||
4. DNS: `nslookup www.taxbaik.com 8.8.8.8`
|
||||
|
||||
---
|
||||
|
||||
**배포 완료!** 🚀
|
||||
@@ -0,0 +1,416 @@
|
||||
# Nginx 설정 변경 가이드 (TaxBaik 경로 최적화)
|
||||
|
||||
## 📍 설정 파일 위치
|
||||
|
||||
```
|
||||
/etc/nginx/sites-available/taxbaik-domains.conf
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔍 현재 설정 확인
|
||||
|
||||
### 1단계: 운영 서버에 접속
|
||||
|
||||
```bash
|
||||
ssh kjh2064@178.104.200.7
|
||||
```
|
||||
|
||||
### 2단계: 현재 설정 확인
|
||||
|
||||
```bash
|
||||
sudo cat /etc/nginx/sites-available/taxbaik-domains.conf
|
||||
```
|
||||
|
||||
또는 특정 부분만:
|
||||
|
||||
```bash
|
||||
sudo grep -A 15 "location /taxbaik" /etc/nginx/sites-available/taxbaik-domains.conf
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📋 현재 설정 (변경 전)
|
||||
|
||||
```nginx
|
||||
location /taxbaik {
|
||||
proxy_pass http://127.0.0.1:5001;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "Upgrade";
|
||||
proxy_cache_bypass $http_upgrade;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_read_timeout 120s;
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ✅ 변경해야 할 부분
|
||||
|
||||
### 변경 1: location 경로 수정
|
||||
|
||||
```diff
|
||||
- location /taxbaik {
|
||||
+ location /taxbaik/ {
|
||||
```
|
||||
|
||||
### 변경 2: proxy_pass 수정
|
||||
|
||||
```diff
|
||||
- proxy_pass http://127.0.0.1:5001;
|
||||
+ proxy_pass http://127.0.0.1:5001/;
|
||||
```
|
||||
|
||||
### 변경 3: rewrite 규칙 추가
|
||||
|
||||
```diff
|
||||
location /taxbaik/ {
|
||||
proxy_pass http://127.0.0.1:5001/;
|
||||
+ rewrite ^/taxbaik/(.*)$ /$1 break;
|
||||
proxy_http_version 1.1;
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📝 변경 후 최종 설정
|
||||
|
||||
```nginx
|
||||
location /taxbaik/ {
|
||||
proxy_pass http://127.0.0.1:5001/;
|
||||
rewrite ^/taxbaik/(.*)$ /$1 break;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "Upgrade";
|
||||
proxy_cache_bypass $http_upgrade;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_read_timeout 120s;
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ 설정 변경 방법
|
||||
|
||||
### 방법 1: nano 에디터 (권장)
|
||||
|
||||
```bash
|
||||
# 1. 백업 생성
|
||||
sudo cp /etc/nginx/sites-available/taxbaik-domains.conf /etc/nginx/sites-available/taxbaik-domains.conf.backup
|
||||
|
||||
# 2. 편집
|
||||
sudo nano /etc/nginx/sites-available/taxbaik-domains.conf
|
||||
|
||||
# 3. 다음 변경사항 적용:
|
||||
# - location /taxbaik { → location /taxbaik/ {
|
||||
# - proxy_pass http://127.0.0.1:5001; → proxy_pass http://127.0.0.1:5001/;
|
||||
# - proxy_pass 다음에 새 줄 추가: rewrite ^/taxbaik/(.*)$ /$1 break;
|
||||
|
||||
# 4. 저장 후 종료
|
||||
# Ctrl+X → Y → Enter
|
||||
```
|
||||
|
||||
### 방법 2: sed 명령어 (자동)
|
||||
|
||||
```bash
|
||||
# 백업
|
||||
sudo cp /etc/nginx/sites-available/taxbaik-domains.conf /etc/nginx/sites-available/taxbaik-domains.conf.backup
|
||||
|
||||
# 변경 1: location /taxbaik → location /taxbaik/
|
||||
sudo sed -i 's/location \/taxbaik {/location \/taxbaik\/ {/g' /etc/nginx/sites-available/taxbaik-domains.conf
|
||||
|
||||
# 변경 2: proxy_pass 수정
|
||||
sudo sed -i 's|proxy_pass http://127.0.0.1:5001;|proxy_pass http://127.0.0.1:5001/;|g' /etc/nginx/sites-available/taxbaik-domains.conf
|
||||
|
||||
# 변경 3: rewrite 규칙 추가
|
||||
# (이 부분은 수동으로 확인 후 추가하는 것이 권장됨)
|
||||
```
|
||||
|
||||
### 방법 3: Python 스크립트
|
||||
|
||||
```python
|
||||
# nginx_fix.py
|
||||
import re
|
||||
|
||||
nginx_file = "/etc/nginx/sites-available/taxbaik-domains.conf"
|
||||
|
||||
# 백업
|
||||
import shutil
|
||||
shutil.copy(nginx_file, nginx_file + ".backup")
|
||||
|
||||
# 설정 읽기
|
||||
with open(nginx_file, 'r') as f:
|
||||
content = f.read()
|
||||
|
||||
# 변경 1: location /taxbaik { → location /taxbaik/ {
|
||||
content = content.replace('location /taxbaik {', 'location /taxbaik/ {')
|
||||
|
||||
# 변경 2: proxy_pass 수정
|
||||
content = content.replace(
|
||||
'proxy_pass http://127.0.0.1:5001;',
|
||||
'proxy_pass http://127.0.0.1:5001/;'
|
||||
)
|
||||
|
||||
# 변경 3: rewrite 규칙 추가 (한 번만)
|
||||
if 'rewrite ^/taxbaik/' not in content:
|
||||
content = content.replace(
|
||||
'proxy_pass http://127.0.0.1:5001/;',
|
||||
'proxy_pass http://127.0.0.1:5001/;\n rewrite ^/taxbaik/(.*)$ /$1 break;'
|
||||
)
|
||||
|
||||
# 설정 저장
|
||||
with open(nginx_file, 'w') as f:
|
||||
f.write(content)
|
||||
|
||||
print("✅ Nginx 설정 변경 완료")
|
||||
```
|
||||
|
||||
실행:
|
||||
|
||||
```bash
|
||||
sudo python3 nginx_fix.py
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ✓ 설정 변경 후 검증
|
||||
|
||||
### Step 1: 문법 검증
|
||||
|
||||
```bash
|
||||
sudo nginx -t
|
||||
```
|
||||
|
||||
**예상 출력:**
|
||||
```
|
||||
nginx: the configuration file /etc/nginx/sites-available/taxbaik-domains.conf syntax is ok
|
||||
nginx: configuration test is successful
|
||||
```
|
||||
|
||||
**오류가 나면:**
|
||||
- 백업에서 복구: `sudo cp /etc/nginx/sites-available/taxbaik-domains.conf.backup /etc/nginx/sites-available/taxbaik-domains.conf`
|
||||
- 다시 변경 시도
|
||||
|
||||
### Step 2: Nginx 재로드
|
||||
|
||||
```bash
|
||||
sudo systemctl reload nginx
|
||||
```
|
||||
|
||||
또는
|
||||
|
||||
```bash
|
||||
sudo systemctl restart nginx
|
||||
```
|
||||
|
||||
**상태 확인:**
|
||||
```bash
|
||||
sudo systemctl status nginx
|
||||
```
|
||||
|
||||
### Step 3: 포트 확인
|
||||
|
||||
```bash
|
||||
# Nginx가 포트 80, 443을 사용하는지 확인
|
||||
sudo netstat -tlnp | grep nginx
|
||||
```
|
||||
|
||||
**예상 출력:**
|
||||
```
|
||||
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1234/nginx
|
||||
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 1234/nginx
|
||||
```
|
||||
|
||||
### Step 4: 웹사이트 테스트
|
||||
|
||||
```bash
|
||||
# 공개 사이트
|
||||
curl -I http://www.taxbaik.com/taxbaik/
|
||||
# 예상: HTTP 200
|
||||
|
||||
# 관리자 로그인
|
||||
curl -I http://www.taxbaik.com/taxbaik/admin/login
|
||||
# 예상: HTTP 200
|
||||
|
||||
# API
|
||||
curl -I http://www.taxbaik.com/taxbaik/api/auth/login
|
||||
# 예상: HTTP 405 (POST only) 또는 HTTP 200
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📊 변경 전후 비교
|
||||
|
||||
### 요청 흐름 (변경 전) ❌
|
||||
|
||||
```
|
||||
공개 URL: http://www.taxbaik.com/taxbaik/admin/login
|
||||
↓
|
||||
Nginx (location /taxbaik): proxy_pass http://127.0.0.1:5001
|
||||
↓
|
||||
앱 수신: http://127.0.0.1:5001/taxbaik/admin/login
|
||||
↓
|
||||
앱 경로: /taxbaik/admin/login ← PathBase 없음 → 경로 미인식
|
||||
↓
|
||||
❌ 404 오류
|
||||
```
|
||||
|
||||
### 요청 흐름 (변경 후) ✅
|
||||
|
||||
```
|
||||
공개 URL: http://www.taxbaik.com/taxbaik/admin/login
|
||||
↓
|
||||
Nginx (location /taxbaik/): rewrite 규칙
|
||||
↓
|
||||
변환: /admin/login (taxbaik 제거)
|
||||
↓
|
||||
앱 수신: http://127.0.0.1:5001/admin/login
|
||||
↓
|
||||
앱 경로: /admin/login ← base href="/taxbaik/admin/" 적용
|
||||
↓
|
||||
브라우저: /taxbaik/admin/dashboard (상대경로로 변환)
|
||||
↓
|
||||
✅ 정상 작동
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔙 롤백 (문제 발생 시)
|
||||
|
||||
### 즉시 롤백
|
||||
|
||||
```bash
|
||||
# 백업 복구
|
||||
sudo cp /etc/nginx/sites-available/taxbaik-domains.conf.backup /etc/nginx/sites-available/taxbaik-domains.conf
|
||||
|
||||
# Nginx 재로드
|
||||
sudo systemctl reload nginx
|
||||
|
||||
# 확인
|
||||
sudo systemctl status nginx
|
||||
```
|
||||
|
||||
### 변경 내용 확인
|
||||
|
||||
변경 전 내용 확인:
|
||||
|
||||
```bash
|
||||
sudo diff /etc/nginx/sites-available/taxbaik-domains.conf.backup /etc/nginx/sites-available/taxbaik-domains.conf
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🆘 문제 해결
|
||||
|
||||
### 문제 1: nginx -t 오류
|
||||
|
||||
**증상:**
|
||||
```
|
||||
nginx: [emerg] unknown directive "rewrite" in /etc/nginx/sites-available/taxbaik-domains.conf:XX
|
||||
```
|
||||
|
||||
**해결:**
|
||||
- rewrite 문법 확인: `rewrite ^/taxbaik/(.*)$ /$1 break;` (정확하게)
|
||||
- 백업에서 복구 후 다시 시도
|
||||
|
||||
### 문제 2: 설정 적용 안 됨
|
||||
|
||||
```bash
|
||||
# Nginx 완전 재시작
|
||||
sudo systemctl stop nginx
|
||||
sudo systemctl start nginx
|
||||
|
||||
# 또는
|
||||
sudo nginx -s reload
|
||||
```
|
||||
|
||||
### 문제 3: 여전히 404
|
||||
|
||||
```bash
|
||||
# 1. 설정 재확인
|
||||
sudo cat /etc/nginx/sites-available/taxbaik-domains.conf | grep -A 3 "location /taxbaik"
|
||||
|
||||
# 2. Nginx 로그 확인
|
||||
sudo tail -100 /var/log/nginx/error.log
|
||||
|
||||
# 3. 앱 로그 확인
|
||||
sudo systemctl status taxbaik
|
||||
sudo journalctl -u taxbaik -n 50
|
||||
|
||||
# 4. DNS 확인
|
||||
nslookup www.taxbaik.com 8.8.8.8
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📋 체크리스트
|
||||
|
||||
배포 전:
|
||||
|
||||
- [ ] 운영 서버에 ssh 접속 확인
|
||||
- [ ] 현재 설정 백업 생성
|
||||
- [ ] 변경 계획 검토
|
||||
|
||||
배포:
|
||||
|
||||
- [ ] location /taxbaik → location /taxbaik/ (변경 1)
|
||||
- [ ] proxy_pass 수정 (변경 2)
|
||||
- [ ] rewrite 규칙 추가 (변경 3)
|
||||
- [ ] nginx -t 문법 검증 성공
|
||||
- [ ] systemctl reload nginx 실행
|
||||
|
||||
검증:
|
||||
|
||||
- [ ] curl -I http://www.taxbaik.com/taxbaik/ → HTTP 200
|
||||
- [ ] curl -I http://www.taxbaik.com/taxbaik/admin/login → HTTP 200
|
||||
- [ ] 브라우저에서 실제 접속 확인
|
||||
- [ ] E2E 테스트 실행
|
||||
|
||||
---
|
||||
|
||||
## 💡 팁
|
||||
|
||||
1. **변경 전 항상 백업**
|
||||
```bash
|
||||
sudo cp /etc/nginx/sites-available/taxbaik-domains.conf /etc/nginx/sites-available/taxbaik-domains.conf.backup
|
||||
```
|
||||
|
||||
2. **nano에서 수정할 때:**
|
||||
- `Ctrl+W` → "location /taxbaik" 검색
|
||||
- `Ctrl+X` → Y → Enter 저장
|
||||
|
||||
3. **변경 확인:**
|
||||
```bash
|
||||
sudo diff -u /etc/nginx/sites-available/taxbaik-domains.conf.backup /etc/nginx/sites-available/taxbaik-domains.conf
|
||||
```
|
||||
|
||||
4. **전체 설정 보기:**
|
||||
```bash
|
||||
sudo cat /etc/nginx/sites-available/taxbaik-domains.conf | grep -v "^#" | grep -v "^$"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**변경 완료 후 운영 서버 확인:**
|
||||
|
||||
```bash
|
||||
# 최종 검증
|
||||
echo "=== 설정 확인 ===" && \
|
||||
sudo grep -A 5 "location /taxbaik" /etc/nginx/sites-available/taxbaik-domains.conf && \
|
||||
echo "" && \
|
||||
echo "=== 문법 검증 ===" && \
|
||||
sudo nginx -t && \
|
||||
echo "" && \
|
||||
echo "=== Nginx 상태 ===" && \
|
||||
sudo systemctl status nginx --no-pager
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**완료!** ✨
|
||||
@@ -0,0 +1,32 @@
|
||||
|
||||
Running 5 tests using 5 workers
|
||||
|
||||
[1A[2K[1/5] [Desktop Chrome] › tests\e2e\admin-smoke.spec.ts:10:7 › admin smoke › @smoke logs in and lands on dashboard without circuit errors
|
||||
[1A[2K[2/5] [iPhone 12] › tests\e2e\admin-smoke.spec.ts:10:7 › admin smoke › @smoke logs in and lands on dashboard without circuit errors
|
||||
[1A[2K[3/5] [iPad Pro] › tests\e2e\admin-smoke.spec.ts:10:7 › admin smoke › @smoke logs in and lands on dashboard without circuit errors
|
||||
[1A[2K[4/5] [Admin Smoke] › tests\e2e\admin-smoke.spec.ts:10:7 › admin smoke › @smoke logs in and lands on dashboard without circuit errors
|
||||
[1A[2K[5/5] [Galaxy S9+] › tests\e2e\admin-smoke.spec.ts:10:7 › admin smoke › @smoke logs in and lands on dashboard without circuit errors
|
||||
[1A[2K 1) [iPhone 12] › tests\e2e\admin-smoke.spec.ts:10:7 › admin smoke › @smoke logs in and lands on dashboard without circuit errors
|
||||
|
||||
Error: browserType.launch: Executable doesn't exist at C:\Users\kjh20\AppData\Local\ms-playwright\webkit-2227\Playwright.exe
|
||||
╔═════════════════════════════════════════════════════════════════════════╗
|
||||
║ Looks like Playwright Test or Playwright was just installed or updated. ║
|
||||
║ Please run the following command to download new browsers: ║
|
||||
║ ║
|
||||
║ npx playwright install ║
|
||||
║ ║
|
||||
║ <3 Playwright Team ║
|
||||
╚═════════════════════════════════════════════════════════════════════════╝
|
||||
|
||||
attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
|
||||
test-results\admin-smoke-admin-smoke-sm-fb1b2-oard-without-circuit-errors-iPhone-12\trace.zip
|
||||
Usage:
|
||||
|
||||
npx playwright show-trace test-results\admin-smoke-admin-smoke-sm-fb1b2-oard-without-circuit-errors-iPhone-12\trace.zip
|
||||
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
|
||||
[1A[2K 1 failed
|
||||
[iPhone 12] › tests\e2e\admin-smoke.spec.ts:10:7 › admin smoke › @smoke logs in and lands on dashboard without circuit errors
|
||||
4 passed (13.4m)
|
||||
+167
@@ -0,0 +1,167 @@
|
||||
<!DOCTYPE html><html lang="ko" style="--blazor-load-percentage: 100%; --blazor-load-percentage-text: "100%";"><head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>백원숙 세무회계 - 관리자</title>
|
||||
<base href="/admin/">
|
||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
|
||||
<link rel="alternate icon" href="/favicon.ico">
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap" rel="stylesheet">
|
||||
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
|
||||
<link href="css/admin.css" rel="stylesheet">
|
||||
<script>
|
||||
window.taxbaikAdminBuildVersion = 'unknown';
|
||||
window.taxbaikAdminComponent = 'AdminWasmApp';
|
||||
document.documentElement.classList.toggle(
|
||||
'admin-login-route',
|
||||
window.location.pathname.toLowerCase().endsWith('/admin/login'));
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"><!--!--><!--!--><!--!--><!--!--><!--!--><!--!--><div class="admin-shell"><header class="admin-topbar"><button type="button" class="admin-menu-button">Menu</button><!--!-->
|
||||
<!--!--><div class="admin-topbar-title"><div class="admin-brand-text">TaxBaik</div>
|
||||
<div class="admin-brand-subtitle">세무회계 관리 대시보드</div></div>
|
||||
<!--!--><div class="admin-topbar-actions"><a class="admin-topbar-action" href="/" target="_blank" rel="noopener">공개 사이트</a>
|
||||
<a class="admin-topbar-action" href="./logout">로그아웃</a></div></header><!--!-->
|
||||
|
||||
<div class="admin-body"><!--!--><aside class="admin-drawer"><!--!--><div class="admin-drawer-brand"><div class="admin-brand-mark">T</div>
|
||||
<div><div class="admin-drawer-title">TaxBaik</div>
|
||||
<div class="admin-drawer-subtitle">세무 운영 콘솔</div></div></div>
|
||||
|
||||
<nav class="admin-nav" aria-label="관리자 메뉴"><div class="admin-nav-group">개요</div><a class="admin-nav-link" href="/admin/dashboard"><span class="admin-nav-link-icon"><path d="M0 0h24v24H0z" fill="none"/><path d="M3 13h8V3H3v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z"/></span><!--!-->
|
||||
<span class="admin-nav-link-label">대시보드</span></a></nav><!--!-->
|
||||
|
||||
<!--!--><div class="admin-drawer-footer"><a class="admin-footer-item" href="/" target="_blank" rel="noopener">공개 사이트</a>
|
||||
<a class="admin-footer-item" href="./logout">로그아웃</a></div></aside><main class="admin-main"><div class="admin-content"><!--!--><!--!--><!--!--><!--!-->
|
||||
|
||||
<!--!--><section class="admin-page-hero"><div><!--!--><span class="mud-typography mud-typography-caption admin-eyebrow">Home</span><!--!--><h4 class="mud-typography mud-typography-h4 admin-page-title">대시보드</h4><!--!--><p class="mud-typography mud-typography-body2 admin-page-subtitle">핵심 운영 상태와 최근 오류를 한 번에 확인합니다.</p></div></section><!--!-->
|
||||
|
||||
<!--!--><!--!--><div class="mud-grid mud-grid-spacing-xs-3 justify-start mt-4"><!--!--><div class="mud-grid-item mud-grid-item-xs-12 mud-grid-item-sm-6 mud-grid-item-md-4"><!--!--><div class="mud-paper mud-elevation-0 pa-4 dashboard-card" style="border: 1px solid var(--border-color); min-height: 200px; display: flex; flex-direction: column;;"><!--!--><svg class="mud-icon-root mud-svg-icon mud-error-text mud-icon-size-large mb-3" focusable="false" viewBox="0 0 24 24" aria-hidden="true"><!--!--><path d="M0 0h24v24H0z" fill="none"></path><path d="M20 8h-2.81c-.45-.78-1.07-1.45-1.82-1.96L17 4.41 15.59 3l-2.17 2.17C12.96 5.06 12.49 5 12 5c-.49 0-.96.06-1.41.17L8.41 3 7 4.41l1.62 1.63C7.88 6.55 7.26 7.22 6.81 8H4v2h2.09c-.05.33-.09.66-.09 1v1H4v2h2v1c0 .34.04.67.09 1H4v2h2.81c1.04 1.79 2.97 3 5.19 3s4.15-1.21 5.19-3H20v-2h-2.09c.05-.33.09-.66.09-1v-1h2v-2h-2v-1c0-.34-.04-.67-.09-1H20V8zm-6 8h-4v-2h4v2zm0-4h-4v-2h4v2z"></path></svg><!--!-->
|
||||
<!--!--><h6 class="mud-typography mud-typography-h6 font-weight-bold mb-2"><!--!-->오류 진단</h6><!--!-->
|
||||
<!--!--><p class="mud-typography mud-typography-body2 mb-4 flex-grow-1"><!--!-->
|
||||
브라우저 오류와 JS interop 실패는 클라이언트 로그에서 바로 추적합니다.
|
||||
</p><!--!-->
|
||||
<!--!--><a href="./client-logs" class="mud-typography mud-link mud-primary-text mud-link-underline-hover mud-typography-body1 font-weight-bold"><!--!-->
|
||||
클라이언트 로그 보기 →
|
||||
</a></div></div><!--!-->
|
||||
|
||||
|
||||
<!--!--><div class="mud-grid-item mud-grid-item-xs-12 mud-grid-item-sm-6 mud-grid-item-md-4"><!--!--><div class="mud-paper mud-elevation-0 pa-4 dashboard-card" style="border: 1px solid var(--border-color); min-height: 200px; display: flex; flex-direction: column;;"><!--!--><svg class="mud-icon-root mud-svg-icon mud-info-text mud-icon-size-large mb-3" focusable="false" viewBox="0 0 24 24" aria-hidden="true"><!--!--><path d="M0 0h24v24H0z" fill="none"></path><path d="M3 13h8V3H3v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z"></path></svg><!--!-->
|
||||
<!--!--><h6 class="mud-typography mud-typography-h6 font-weight-bold mb-2"><!--!-->운영 메뉴</h6><!--!-->
|
||||
<!--!--><p class="mud-typography mud-typography-body2 mb-4 flex-grow-1"><!--!-->
|
||||
CRM, 홈페이지, 문의 관리 화면을 표준 템플릿으로 확장합니다.
|
||||
</p><!--!-->
|
||||
<!--!--><a href="./inquiries" class="mud-typography mud-link mud-primary-text mud-link-underline-hover mud-typography-body1 font-weight-bold"><!--!-->
|
||||
문의 관리로 이동 →
|
||||
</a></div></div><!--!-->
|
||||
|
||||
|
||||
<!--!--><div class="mud-grid-item mud-grid-item-xs-12 mud-grid-item-sm-6 mud-grid-item-md-4"><!--!--><div class="mud-paper mud-elevation-0 pa-4 dashboard-card" style="border: 1px solid var(--border-color); min-height: 200px; display: flex; flex-direction: column;;"><!--!--><svg class="mud-icon-root mud-svg-icon mud-success-text mud-icon-size-large mb-3" focusable="false" viewBox="0 0 24 24" aria-hidden="true"><!--!--><path d="M0 0h24v24H0z" fill="none"></path><path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"></path></svg><!--!-->
|
||||
<!--!--><h6 class="mud-typography mud-typography-h6 font-weight-bold mb-2"><!--!-->배포 확인</h6><!--!-->
|
||||
<!--!--><p class="mud-typography mud-typography-body2 mb-4 flex-grow-1"><!--!-->
|
||||
하위 경로 배포와 렌더러 분리를 유지하도록 라우트 린트를 적용합니다.
|
||||
</p><!--!-->
|
||||
<!--!--><a href="./client-logs" class="mud-typography mud-link mud-primary-text mud-link-underline-hover mud-typography-body1 font-weight-bold"><!--!-->
|
||||
최근 에러 확인 →
|
||||
</a></div></div><!--!-->
|
||||
|
||||
|
||||
<!--!--><div class="mud-grid-item mud-grid-item-xs-12 mud-grid-item-sm-6 mud-grid-item-md-4"><!--!--><div class="mud-paper mud-elevation-0 pa-4 dashboard-card" style="border: 1px solid var(--border-color); min-height: 200px; display: flex; flex-direction: column;;"><!--!--><svg class="mud-icon-root mud-svg-icon mud-warning-text mud-icon-size-large mb-3" focusable="false" viewBox="0 0 24 24" aria-hidden="true"><!--!--><path d="M0 0h24v24H0z" fill="none"></path><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path></svg><!--!-->
|
||||
<!--!--><h6 class="mud-typography mud-typography-h6 font-weight-bold mb-2"><!--!-->원인 규명</h6><!--!-->
|
||||
<!--!--><p class="mud-typography mud-typography-body2 mb-4 flex-grow-1"><!--!-->
|
||||
중복되는 오류는 최근 로그 요약에서 source와 route 기준으로 묶어 봅니다.
|
||||
</p><!--!-->
|
||||
<!--!--><a href="./client-logs?q=invoke" class="mud-typography mud-link mud-primary-text mud-link-underline-hover mud-typography-body1 font-weight-bold"><!--!-->
|
||||
오류 검색 →
|
||||
</a></div></div><!--!-->
|
||||
|
||||
|
||||
<!--!--><div class="mud-grid-item mud-grid-item-xs-12 mud-grid-item-sm-6 mud-grid-item-md-4"><!--!--><div class="mud-paper mud-elevation-0 pa-4 dashboard-card" style="border: 1px solid var(--border-color); min-height: 200px; display: flex; flex-direction: column;;"><!--!--><svg class="mud-icon-root mud-svg-icon mud-secondary-text mud-icon-size-large mb-3" focusable="false" viewBox="0 0 24 24" aria-hidden="true"><!--!--><path d="M0 0h24v24H0z" fill="none"></path><path d="M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"></path></svg><!--!-->
|
||||
<!--!--><h6 class="mud-typography mud-typography-h6 font-weight-bold mb-2"><!--!-->관측성</h6><!--!-->
|
||||
<!--!--><p class="mud-typography mud-typography-body2 mb-4 flex-grow-1"><!--!-->
|
||||
Top sources / routes를 확인해서 어떤 모듈이 재발하는지 빠르게 좁힙니다.
|
||||
</p><!--!-->
|
||||
<!--!--><a href="./client-logs" class="mud-typography mud-link mud-primary-text mud-link-underline-hover mud-typography-body1 font-weight-bold"><!--!-->
|
||||
요약 리포트 보기 →
|
||||
</a></div></div><!--!-->
|
||||
|
||||
|
||||
<!--!--><div class="mud-grid-item mud-grid-item-xs-12"><!--!--><div class="mud-paper mud-elevation-0 pa-4 admin-surface" style="border: 1px solid var(--border-color);;"><!--!--><h6 class="mud-typography mud-typography-h6 font-weight-bold mb-3"><!--!-->📊 빠른 통계</h6><!--!-->
|
||||
<!--!--><!--!--><div class="mud-grid mud-grid-spacing-xs-2 justify-start"><!--!--><div class="mud-grid-item mud-grid-item-xs-12 mud-grid-item-sm-6 mud-grid-item-md-3"><!--!--><p class="mud-typography mud-typography-body2"><!--!--><strong>전체 문의:</strong> API에서 조회
|
||||
</p></div><!--!-->
|
||||
<!--!--><div class="mud-grid-item mud-grid-item-xs-12 mud-grid-item-sm-6 mud-grid-item-md-3"><!--!--><p class="mud-typography mud-typography-body2"><!--!--><strong>오류 건수:</strong> 클라이언트 로그 참조
|
||||
</p></div><!--!-->
|
||||
<!--!--><div class="mud-grid-item mud-grid-item-xs-12 mud-grid-item-sm-6 mud-grid-item-md-3"><!--!--><p class="mud-typography mud-typography-body2"><!--!--><strong>배포 상태:</strong> 최신 버전 실행 중
|
||||
</p></div><!--!-->
|
||||
<!--!--><div class="mud-grid-item mud-grid-item-xs-12 mud-grid-item-sm-6 mud-grid-item-md-3"><!--!--><p class="mud-typography mud-typography-body2"><!--!--><strong>로그 범위:</strong> 최근 7일
|
||||
</p></div></div></div></div></div><!--!-->
|
||||
|
||||
<!--!--><style>
|
||||
.dashboard-card {
|
||||
background: var(--surface-bg);
|
||||
transition: all 0.2s ease-in-out;
|
||||
}
|
||||
|
||||
.dashboard-card:hover {
|
||||
border-color: var(--primary-color) !important;
|
||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.dashboard-card :deep(.mud-link) {
|
||||
text-decoration: none;
|
||||
font-size: 0.875rem;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
}
|
||||
|
||||
.dashboard-card :deep(.mud-link:hover) {
|
||||
text-decoration: underline;
|
||||
}
|
||||
</style></div></main></div></div></div>
|
||||
|
||||
<script>
|
||||
// Debug 환경에서 .pdb 파일 요청 차단
|
||||
// (blazor.boot.json이 없을 때 발생하는 해시 불일치 문제 방지)
|
||||
window.taxbaikBlockPdb = true;
|
||||
</script>
|
||||
|
||||
<div id="components-reconnect-modal" class="admin-reconnect-modal">
|
||||
<div class="admin-reconnect-card">
|
||||
<strong>연결 재설정 중...</strong>
|
||||
<span>새로운 버전으로 업데이트되었습니다.</span>
|
||||
<span style="font-size: 0.85rem; margin-top: 0.5rem; opacity: 0.8;">자동으로 페이지를 새로고침합니다. 잠시만 기다려주세요.</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="blazor-error-ui">
|
||||
<p>관리자 화면을 불러오는 중 오류가 발생했습니다. 브라우저 콘솔 또는 서버 client-logs를 확인하세요.</p>
|
||||
<a href="" class="reload">새로고침</a>
|
||||
<a class="dismiss">닫기</a>
|
||||
</div>
|
||||
|
||||
<script src="js/admin-session.js"></script>
|
||||
<script src="_framework/blazor.webassembly.js"></script>
|
||||
<script>
|
||||
function initSession() {
|
||||
if (window.taxbaikAdminSession) {
|
||||
if (typeof window.taxbaikAdminSession.initErrorLogging === 'function') {
|
||||
window.taxbaikAdminSession.initErrorLogging();
|
||||
}
|
||||
if (typeof window.taxbaikAdminSession.bindLoginForm === 'function') {
|
||||
window.taxbaikAdminSession.bindLoginForm();
|
||||
}
|
||||
if (typeof window.taxbaikAdminSession.watchReconnect === 'function') {
|
||||
window.taxbaikAdminSession.watchReconnect();
|
||||
}
|
||||
} else {
|
||||
setTimeout(initSession, 50);
|
||||
}
|
||||
}
|
||||
initSession();
|
||||
</script>
|
||||
|
||||
|
||||
</body></html>
|
||||
BIN
Binary file not shown.
|
After Width: | Height: | Size: 122 KiB |
+1
@@ -0,0 +1 @@
|
||||
http://localhost:5001/admin/dashboard
|
||||
+185
@@ -0,0 +1,185 @@
|
||||
<!DOCTYPE html><html lang="ko"><head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>관리자 로그인</title>
|
||||
<meta name="description" content="관리자 로그인 페이지입니다.">
|
||||
<meta name="keywords" content="백원숙 세무회계, 세무사, 사업자 기장, 양도소득세, 증여세, 상속세, 종합소득세, 절세 상담, 세무 대리">
|
||||
|
||||
<!-- Open Graph / Facebook -->
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:title" content="관리자 로그인">
|
||||
<meta property="og:description" content="관리자 로그인 페이지입니다.">
|
||||
<meta property="og:image" content="https://www.taxbaik.com/taxbaik/images/og-image.jpg">
|
||||
<meta property="og:url" content="https://www.taxbaik.com/taxbaik/">
|
||||
|
||||
<!-- Twitter -->
|
||||
<meta property="twitter:card" content="summary_large_image">
|
||||
<meta property="twitter:title" content="관리자 로그인">
|
||||
<meta property="twitter:description" content="관리자 로그인 페이지입니다.">
|
||||
<meta property="twitter:image" content="https://www.taxbaik.com/taxbaik/images/og-image.jpg">
|
||||
|
||||
<!-- 검색엔진 등록용 소유권 인증 메타 태그 (발급받으신 토큰이 있으면 아래 content에 넣어 주시면 됩니다) -->
|
||||
<!-- <meta name="naver-site-verification" content="네이버_서치어드바이저_토큰_입력" /> -->
|
||||
<!-- <meta name="google-site-verification" content="구글_서치콘솔_토큰_입력" /> -->
|
||||
|
||||
<meta name="robots" content="index, follow">
|
||||
<meta name="theme-color" content="#C89D6E">
|
||||
<link rel="icon" type="image/svg+xml" href="/taxbaik/favicon.svg">
|
||||
<link rel="alternate icon" href="/taxbaik/favicon.ico">
|
||||
|
||||
<!-- RSS Feed -->
|
||||
<link rel="alternate" type="application/rss+xml" title="백원숙 세무회계 블로그" href="/taxbaik/rss.xml">
|
||||
<link rel="alternate" type="application/rss+xml" title="TaxBaik Blog Feed" href="/taxbaik/feed.xml">
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="">
|
||||
<link rel="dns-prefetch" href="https://cdn.jsdelivr.net">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Noto+Sans+KR:wght@400;500;700&family=Outfit:wght@400;500;600;700;800&display=swap" rel="stylesheet">
|
||||
<link rel="canonical" href="http://localhost:5001/taxbaik/admin/login">
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="/taxbaik/css/site.css" asp-append-version="true">
|
||||
|
||||
<!-- 구조화된 데이터 (JSON-LD Schema Markup) -->
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "ProfessionalService",
|
||||
"name": "백원숙 세무회계",
|
||||
"description": "사업자 기장, 부동산 양도세·증여세, 종합소득세 전문 상담 세무사",
|
||||
"url": "https://www.taxbaik.com/taxbaik/",
|
||||
"telephone": "010-4122-8268",
|
||||
"email": "taxbaik5668@gmail.com",
|
||||
"address": {
|
||||
"@type": "PostalAddress",
|
||||
"addressCountry": "KR"
|
||||
},
|
||||
"sameAs": [
|
||||
"https://www.instagram.com/taxtory5668/",
|
||||
"https://pf.kakao.com/_xoxchTX"
|
||||
]
|
||||
}
|
||||
</script>
|
||||
|
||||
<!-- Google tag (gtag.js) -->
|
||||
<script async="" src="https://www.googletagmanager.com/gtag/js?id=G-25KRKY45D7"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
|
||||
gtag('config', 'G-25KRKY45D7');
|
||||
</script>
|
||||
</head>
|
||||
<body class="with-mobile-cta" data-kakao-url="https://pf.kakao.com/_xoxchTX">
|
||||
<partial name="_Header">
|
||||
<main role="main" class="pb-5">
|
||||
|
||||
<section class="container py-5" style="max-width: 560px;">
|
||||
<div class="card shadow-sm border-0">
|
||||
<div class="card-body p-4 p-md-5">
|
||||
<div class="mb-4">
|
||||
<p class="text-uppercase text-muted small mb-1">TaxBaik Admin</p>
|
||||
<h1 class="h3 fw-bold mb-2">관리자 로그인</h1>
|
||||
<p class="text-muted mb-0">로그인 후 대시보드와 관리자 기능을 이용할 수 있습니다.</p>
|
||||
</div>
|
||||
|
||||
<div class="alert alert-danger" role="alert">아이디 또는 비밀번호가 올바르지 않습니다.</div>
|
||||
|
||||
<form id="admin-login-form" method="post" class="vstack gap-3">
|
||||
<input name="__RequestVerificationToken" type="hidden" value="CfDJ8MSeutqIyfZKsHr5RAKz7bMB4iHvJyIstyhZhRSvRFyvwMx00LqO3-_2-ipLeuqNZwtY-dKuh0EfvZeLTT8QEAhMaLqmCHAwZ59oxymtlGg-Mpcw6ClhVznkzf4o-f_pK2p6lxu83DbmuxtW3aqdwI4" style="">
|
||||
<input type="hidden" id="ReturnUrl" name="ReturnUrl" style="">
|
||||
|
||||
<div>
|
||||
<label class="form-label" for="Username">사용자명</label>
|
||||
<input class="form-control" id="Username" name="Username" value="admin" autocomplete="username" style="">
|
||||
<span class="text-danger small"></span>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label class="form-label" for="Password">비밀번호</label>
|
||||
<input class="form-control" id="Password" name="Password" type="password" autocomplete="current-password" style="">
|
||||
<span class="text-danger small"></span>
|
||||
</div>
|
||||
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" id="RememberMe" name="RememberMe" type="checkbox" value="true" checked="checked" style="">
|
||||
<label class="form-check-label" for="RememberMe">로그인 상태 유지</label>
|
||||
</div>
|
||||
|
||||
<button class="btn btn-dark w-100" id="admin-login-submit" type="submit">
|
||||
<span>로그인</span>
|
||||
</button>
|
||||
</form>
|
||||
|
||||
<p class="text-muted small mt-4 mb-0">
|
||||
이 페이지는 서버 렌더링 기반입니다. 로그인 성공 후 관리자 웹앱으로 이동합니다.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
</main>
|
||||
<footer class="bg-light border-top mt-5 py-5">
|
||||
<div class="container">
|
||||
<div class="row g-5">
|
||||
<div class="col-md-3">
|
||||
<h6 class="fw-bold mb-3">백원숙 세무회계</h6>
|
||||
<p class="small text-muted">
|
||||
사업자 기장, 부동산 양도세·증여세,<br>
|
||||
종합소득세 전문 상담
|
||||
</p>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<h6 class="fw-bold mb-3">메뉴</h6>
|
||||
<ul class="list-unstyled small">
|
||||
<li class="mb-2"><a href="/taxbaik/" class="text-decoration-none text-muted">홈</a></li>
|
||||
<li class="mb-2"><a href="/taxbaik/about" class="text-decoration-none text-muted">세무사 소개</a></li>
|
||||
<li class="mb-2"><a href="/taxbaik/services" class="text-decoration-none text-muted">전문 서비스</a></li>
|
||||
<li class="mb-2"><a href="/taxbaik/blog" class="text-decoration-none text-muted">세무 정보</a></li>
|
||||
<li><a href="/taxbaik/contact" class="text-decoration-none text-muted">상담 신청</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<h6 class="fw-bold mb-3">연락처</h6>
|
||||
<p class="small">
|
||||
📞 <a href="tel:010-4122-8268" class="text-decoration-none text-muted">010-4122-8268</a><br>
|
||||
📧 <a href="mailto:taxbaik5668@gmail.com" class="text-decoration-none text-muted">taxbaik5668@gmail.com</a>
|
||||
</p>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<h6 class="fw-bold mb-3">채널</h6>
|
||||
<p class="small">
|
||||
<a href="https://pf.kakao.com/_xoxchTX" target="_blank" rel="noopener noreferrer" class="btn btn-sm btn-warning me-2">카카오톡</a>
|
||||
<a href="https://www.instagram.com/taxtory5668/" target="_blank" class="btn btn-sm btn-outline-secondary">Instagram</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<hr class="my-4">
|
||||
<div class="text-center small text-muted">
|
||||
<p>© 2026 백원숙 세무회계. All rights reserved.</p>
|
||||
<div class="mb-2">
|
||||
<a href="/taxbaik/privacy" class="text-decoration-none text-muted me-2">개인정보처리방침</a>
|
||||
<span class="text-muted">|</span>
|
||||
<a href="/taxbaik/terms" class="text-decoration-none text-muted ms-2 me-2">이용약관</a>
|
||||
<span class="text-muted">|</span>
|
||||
</div>
|
||||
<div class="mt-2 text-muted" style="font-size: 0.75rem; opacity: 0.6;">
|
||||
vunknown · unknown
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<!-- Mobile Fixed CTA -->
|
||||
<div class="mobile-cta-bar d-lg-none">
|
||||
<a href="https://pf.kakao.com/_xoxchTX" target="_blank" rel="noopener noreferrer" class="btn-kakao-mobile">
|
||||
💬 카카오 상담하기
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js" defer=""></script>
|
||||
<script src="/taxbaik/js/site.js" asp-append-version="true" defer=""></script>
|
||||
|
||||
|
||||
|
||||
</partial></body></html>
|
||||
BIN
Binary file not shown.
|
After Width: | Height: | Size: 436 KiB |
+1
@@ -0,0 +1 @@
|
||||
http://localhost:5001/taxbaik/admin/login
|
||||
+337
@@ -0,0 +1,337 @@
|
||||
<!DOCTYPE html><html lang="ko"><head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>상담 신청 | 백원숙 세무회계</title>
|
||||
<meta name="description" content="백원숙 세무회계 - 사업자 기장, 부동산 양도세·증여세, 종합소득세 전문 상담. 맞춤형 세무 절세 컨설팅 제공.">
|
||||
<meta name="keywords" content="백원숙 세무회계, 세무사, 사업자 기장, 양도소득세, 증여세, 상속세, 종합소득세, 절세 상담, 세무 대리">
|
||||
|
||||
<!-- Open Graph / Facebook -->
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:title" content="상담 신청 | 백원숙 세무회계">
|
||||
<meta property="og:description" content="백원숙 세무회계 - 사업자 기장, 부동산 양도세·증여세, 종합소득세 전문 상담. 맞춤형 세무 절세 컨설팅 제공.">
|
||||
<meta property="og:image" content="https://www.taxbaik.com/taxbaik/images/og-image.jpg">
|
||||
<meta property="og:url" content="https://www.taxbaik.com/taxbaik/">
|
||||
|
||||
<!-- Twitter -->
|
||||
<meta property="twitter:card" content="summary_large_image">
|
||||
<meta property="twitter:title" content="상담 신청 | 백원숙 세무회계">
|
||||
<meta property="twitter:description" content="백원숙 세무회계 - 사업자 기장, 부동산 양도세·증여세, 종합소득세 전문 상담. 맞춤형 세무 절세 컨설팅 제공.">
|
||||
<meta property="twitter:image" content="https://www.taxbaik.com/taxbaik/images/og-image.jpg">
|
||||
|
||||
<!-- 검색엔진 등록용 소유권 인증 메타 태그 (발급받으신 토큰이 있으면 아래 content에 넣어 주시면 됩니다) -->
|
||||
<!-- <meta name="naver-site-verification" content="네이버_서치어드바이저_토큰_입력" /> -->
|
||||
<!-- <meta name="google-site-verification" content="구글_서치콘솔_토큰_입력" /> -->
|
||||
|
||||
<meta name="robots" content="index, follow">
|
||||
<meta name="theme-color" content="#C89D6E">
|
||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
|
||||
<link rel="alternate icon" href="/favicon.ico">
|
||||
|
||||
<!-- RSS Feed -->
|
||||
<link rel="alternate" type="application/rss+xml" title="백원숙 세무회계 블로그" href="/rss.xml">
|
||||
<link rel="alternate" type="application/rss+xml" title="TaxBaik Blog Feed" href="/feed.xml">
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="">
|
||||
<link rel="dns-prefetch" href="https://cdn.jsdelivr.net">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Noto+Sans+KR:wght@400;500;700&family=Outfit:wght@400;500;600;700;800&display=swap" rel="stylesheet">
|
||||
<link rel="canonical" href="https://www.taxbaik.com/taxbaik/">
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="/css/site.css" asp-append-version="true">
|
||||
|
||||
<!-- 구조화된 데이터 (JSON-LD Schema Markup) -->
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "ProfessionalService",
|
||||
"name": "백원숙 세무회계",
|
||||
"description": "사업자 기장, 부동산 양도세·증여세, 종합소득세 전문 상담 세무사",
|
||||
"url": "https://www.taxbaik.com/taxbaik/",
|
||||
"telephone": "010-4122-8268",
|
||||
"email": "taxbaik5668@gmail.com",
|
||||
"address": {
|
||||
"@type": "PostalAddress",
|
||||
"addressCountry": "KR"
|
||||
},
|
||||
"sameAs": [
|
||||
"https://www.instagram.com/taxtory5668/",
|
||||
"https://pf.kakao.com/_xoxchTX"
|
||||
]
|
||||
}
|
||||
</script>
|
||||
|
||||
<!-- Google tag (gtag.js) -->
|
||||
<script async="" src="https://www.googletagmanager.com/gtag/js?id=G-25KRKY45D7"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
|
||||
gtag('config', 'G-25KRKY45D7');
|
||||
</script>
|
||||
</head>
|
||||
<body class="with-mobile-cta" data-kakao-url="https://pf.kakao.com/_xoxchTX">
|
||||
<partial name="_Header">
|
||||
<main role="main" class="pb-5">
|
||||
|
||||
<div class="container py-5" style="max-width: 600px;">
|
||||
<div class="d-flex align-items-center justify-content-between gap-3 mb-4">
|
||||
<h1 class="fw-bold mb-0">상담 신청</h1>
|
||||
<a href="/" class="btn btn-outline-secondary btn-sm" onclick="if (history.length > 1) { history.back(); return false; }">
|
||||
뒤로가기
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<form method="post" id="contactForm">
|
||||
<input name="__RequestVerificationToken" type="hidden" value="CfDJ8MSeutqIyfZKsHr5RAKz7bMp0rLMIgB5lylhHGjSwrQjUT7su29vJXVUAorCM8hOaSqvXzB8NB_OZDiV5fkrWgIEDArNLKgnwWj-LsAjbyQ1jnS7YAzlakgXhFo8aXachwkdr4a1ZtC0tO0qOK6Q6H0" style="">
|
||||
<div asp-validation-summary="All" class="text-danger mb-3"></div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="name" class="form-label">이름 <span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="name" name="Name" required="" style="">
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="phone" class="form-label">전화번호 <span class="text-danger">*</span></label>
|
||||
<input type="tel" class="form-control" id="phone" name="Phone" placeholder="010-1234-5678" required="" maxlength="13" style="">
|
||||
<small class="form-text text-muted">숫자만 입력하면 자동 포맷팅됩니다 (예: 01012345678 또는 010-1234-5678)</small>
|
||||
<div id="phoneError" class="text-danger mt-2" style="display: none;">
|
||||
10~11자리 숫자를 입력해주세요.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="email" class="form-label">이메일</label>
|
||||
<input type="email" class="form-control" id="email" name="Email" style="">
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="service" class="form-label">상담분야</label>
|
||||
<select class="form-select" id="service" name="ServiceType">
|
||||
<option value="기장">사업자 기장</option>
|
||||
<option value="양도세">부동산 양도세</option>
|
||||
<option value="종소세">종합소득세</option>
|
||||
<option value="증여상속">증여상속세</option>
|
||||
<option value="기타">기타</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="message" class="form-label">문의내용 <span class="text-danger">*</span></label>
|
||||
<textarea class="form-control" id="message" name="Message" rows="5" required="" minlength="10" maxlength="5000" placeholder="최소 10자, 최대 5000자까지 입력 가능합니다" style=""></textarea>
|
||||
<small class="form-text text-muted">
|
||||
<span id="messageCount">0</span>/5000
|
||||
</small>
|
||||
<div id="messageError" class="text-danger mt-2" style="display: none;"></div>
|
||||
</div>
|
||||
|
||||
<div class="mb-3 form-check">
|
||||
<input type="checkbox" class="form-check-input" id="agree" name="Agree" value="true" required="" style="">
|
||||
<label class="form-check-label" for="agree">
|
||||
개인정보 수집·이용에 동의합니다
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<button type="submit" class="btn btn-primary btn-lg w-100">상담신청</button>
|
||||
</form>
|
||||
|
||||
<script>
|
||||
const phoneInput = document.getElementById('phone');
|
||||
const phoneError = document.getElementById('phoneError');
|
||||
const messageInput = document.getElementById('message');
|
||||
const messageError = document.getElementById('messageError');
|
||||
const messageCount = document.getElementById('messageCount');
|
||||
const contactForm = document.getElementById('contactForm');
|
||||
|
||||
const MIN_MESSAGE_LENGTH = 10;
|
||||
const MAX_MESSAGE_LENGTH = 5000;
|
||||
|
||||
// 한국 전화번호 정규식
|
||||
const koreanPhoneRegex = /^(0(2|3[1-3]|4[1-4]|5[1-5]|6[1-4]|70|50[5-9]|[7-9](?:\d{1,2})?)\d{7,8}|0\d{9,10})$/;
|
||||
|
||||
// 실시간 전화번호 마스킹
|
||||
phoneInput.addEventListener('input', (e) => {
|
||||
let value = e.target.value.replace(/\D/g, ''); // 숫자만 추출
|
||||
|
||||
if (value.length > 11) {
|
||||
value = value.substring(0, 11); // 최대 11자리
|
||||
}
|
||||
|
||||
// 포맷팅
|
||||
value = formatKoreanPhoneNumber(value);
|
||||
e.target.value = value;
|
||||
validatePhone();
|
||||
});
|
||||
|
||||
// 한국 전화번호 포맷팅
|
||||
function formatKoreanPhoneNumber(value) {
|
||||
if (!value.startsWith('0')) return value;
|
||||
|
||||
let areaCode = '';
|
||||
if (value.startsWith('02')) {
|
||||
areaCode = '02';
|
||||
} else if ((value.startsWith('070') ||
|
||||
(value.startsWith('050') && value.length > 2 && value[3] >= '5' && value[3] <= '9')) ||
|
||||
(value.length >= 3 && /^0[3-6]\d/.test(value))) {
|
||||
areaCode = value.substring(0, 3);
|
||||
} else if (value.length >= 3 && value.startsWith('01')) {
|
||||
areaCode = value.substring(0, 3);
|
||||
}
|
||||
|
||||
if (!areaCode) return value;
|
||||
|
||||
const restPart = value.substring(areaCode.length);
|
||||
if (restPart.length === 7) {
|
||||
return `${areaCode}-${restPart.substring(0, 3)}-${restPart.substring(3)}`;
|
||||
} else if (restPart.length === 8) {
|
||||
return `${areaCode}-${restPart.substring(0, 4)}-${restPart.substring(4)}`;
|
||||
} else if (restPart.length > 0 && restPart.length < 7) {
|
||||
return `${areaCode}-${restPart}`;
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
// 전화번호 검증
|
||||
function validatePhone() {
|
||||
const value = phoneInput.value.replace(/\D/g, '');
|
||||
const isValid = koreanPhoneRegex.test(value);
|
||||
|
||||
if (!isValid && phoneInput.value.length > 0) {
|
||||
phoneError.style.display = 'block';
|
||||
phoneInput.classList.add('is-invalid');
|
||||
} else {
|
||||
phoneError.style.display = 'none';
|
||||
phoneInput.classList.remove('is-invalid');
|
||||
}
|
||||
|
||||
return isValid;
|
||||
}
|
||||
|
||||
// 폼 제출 전 검증
|
||||
contactForm.addEventListener('submit', (e) => {
|
||||
if (!validatePhone()) {
|
||||
e.preventDefault();
|
||||
phoneInput.focus();
|
||||
}
|
||||
});
|
||||
|
||||
// 포커스 아웃 시 최종 검증
|
||||
phoneInput.addEventListener('blur', validatePhone);
|
||||
|
||||
// 메시지 길이 실시간 표시
|
||||
messageInput.addEventListener('input', (e) => {
|
||||
const length = e.target.value.length;
|
||||
messageCount.textContent = length;
|
||||
validateMessage();
|
||||
});
|
||||
|
||||
// 메시지 검증
|
||||
function validateMessage() {
|
||||
const value = messageInput.value.trim();
|
||||
const isValid = value.length >= MIN_MESSAGE_LENGTH && value.length <= MAX_MESSAGE_LENGTH;
|
||||
|
||||
if (!isValid && messageInput.value.length > 0) {
|
||||
messageError.style.display = 'block';
|
||||
if (value.length < MIN_MESSAGE_LENGTH) {
|
||||
messageError.textContent = `최소 ${MIN_MESSAGE_LENGTH}자 이상 입력해주세요. (현재: ${value.length}자)`;
|
||||
} else if (value.length > MAX_MESSAGE_LENGTH) {
|
||||
messageError.textContent = `최대 ${MAX_MESSAGE_LENGTH}자까지만 입력 가능합니다. (현재: ${value.length}자)`;
|
||||
}
|
||||
messageInput.classList.add('is-invalid');
|
||||
} else {
|
||||
messageError.style.display = 'none';
|
||||
messageInput.classList.remove('is-invalid');
|
||||
}
|
||||
|
||||
return isValid;
|
||||
}
|
||||
|
||||
// 폼 제출 시 메시지 검증 포함
|
||||
const originalSubmitHandler = contactForm.onsubmit;
|
||||
contactForm.addEventListener('submit', (e) => {
|
||||
if (!validatePhone() || !validateMessage()) {
|
||||
e.preventDefault();
|
||||
if (!validatePhone()) {
|
||||
phoneInput.focus();
|
||||
} else if (!validateMessage()) {
|
||||
messageInput.focus();
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<hr class="my-5">
|
||||
|
||||
<h5 class="fw-bold mb-3">빠른 상담을 원하시나요?</h5>
|
||||
<p>카카오톡 채널을 통해 더 빠르게 상담받을 수 있습니다.</p>
|
||||
<div class="gap-2 d-flex flex-wrap">
|
||||
<a href="https://pf.kakao.com/_xoxchTX" target="_blank" rel="noopener noreferrer" class="btn btn-warning">카카오톡 채널 문의</a>
|
||||
<a href="tel:010-4122-8268" class="btn btn-outline-primary">전화 상담</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
<footer class="bg-light border-top mt-5 py-5">
|
||||
<div class="container">
|
||||
<div class="row g-5">
|
||||
<div class="col-md-3">
|
||||
<h6 class="fw-bold mb-3">백원숙 세무회계</h6>
|
||||
<p class="small text-muted">
|
||||
사업자 기장, 부동산 양도세·증여세,<br>
|
||||
종합소득세 전문 상담
|
||||
</p>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<h6 class="fw-bold mb-3">메뉴</h6>
|
||||
<ul class="list-unstyled small">
|
||||
<li class="mb-2"><a href="/" class="text-decoration-none text-muted">홈</a></li>
|
||||
<li class="mb-2"><a href="/about" class="text-decoration-none text-muted">세무사 소개</a></li>
|
||||
<li class="mb-2"><a href="/services" class="text-decoration-none text-muted">전문 서비스</a></li>
|
||||
<li class="mb-2"><a href="/blog" class="text-decoration-none text-muted">세무 정보</a></li>
|
||||
<li><a href="/contact" class="text-decoration-none text-muted">상담 신청</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<h6 class="fw-bold mb-3">연락처</h6>
|
||||
<p class="small">
|
||||
📞 <a href="tel:010-4122-8268" class="text-decoration-none text-muted">010-4122-8268</a><br>
|
||||
📧 <a href="mailto:taxbaik5668@gmail.com" class="text-decoration-none text-muted">taxbaik5668@gmail.com</a>
|
||||
</p>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<h6 class="fw-bold mb-3">채널</h6>
|
||||
<p class="small">
|
||||
<a href="https://pf.kakao.com/_xoxchTX" target="_blank" rel="noopener noreferrer" class="btn btn-sm btn-warning me-2">카카오톡</a>
|
||||
<a href="https://www.instagram.com/taxtory5668/" target="_blank" class="btn btn-sm btn-outline-secondary">Instagram</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<hr class="my-4">
|
||||
<div class="text-center small text-muted">
|
||||
<p>© 2026 백원숙 세무회계. All rights reserved.</p>
|
||||
<div class="mb-2">
|
||||
<a href="/privacy" class="text-decoration-none text-muted me-2">개인정보처리방침</a>
|
||||
<span class="text-muted">|</span>
|
||||
<a href="/terms" class="text-decoration-none text-muted ms-2 me-2">이용약관</a>
|
||||
<span class="text-muted">|</span>
|
||||
</div>
|
||||
<div class="mt-2 text-muted" style="font-size: 0.75rem; opacity: 0.6;">
|
||||
vunknown · unknown
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<!-- Mobile Fixed CTA -->
|
||||
<div class="mobile-cta-bar d-lg-none">
|
||||
<a href="https://pf.kakao.com/_xoxchTX" target="_blank" rel="noopener noreferrer" class="btn-kakao-mobile">
|
||||
💬 카카오 상담하기
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js" defer=""></script>
|
||||
<script src="/js/site.js" asp-append-version="true" defer=""></script>
|
||||
|
||||
|
||||
|
||||
</partial></body></html>
|
||||
BIN
Binary file not shown.
|
After Width: | Height: | Size: 238 KiB |
+1
@@ -0,0 +1 @@
|
||||
http://localhost:5001/contact
|
||||
@@ -0,0 +1,186 @@
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T00:57:34.752Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\login-test.spec.ts","title":"Admin Login Page - Full Flow Test","label":"login-page","url":"https://www.taxbaik.com/taxbaik/admin/login","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_login-test.spec.ts-Admin_Login_Page_-_Full_Flow_Test-login-page.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_login-test.spec.ts-Admin_Login_Page_-_Full_Flow_Test-login-page.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_login-test.spec.ts-Admin_Login_Page_-_Full_Flow_Test-login-page.url.txt","timestamp":"2026-07-08T04:24:23.075Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\login-test.spec.ts","title":"Admin Login Page - Full Flow Test","label":"login-page","url":"https://www.taxbaik.com/taxbaik/admin/login","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_login-test.spec.ts-Admin_Login_Page_-_Full_Flow_Test-login-page.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_login-test.spec.ts-Admin_Login_Page_-_Full_Flow_Test-login-page.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_login-test.spec.ts-Admin_Login_Page_-_Full_Flow_Test-login-page.url.txt","timestamp":"2026-07-08T04:25:17.789Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\login-test.spec.ts","title":"Admin Login Page - Full Flow Test","label":"login-page","url":"https://www.taxbaik.com/taxbaik/admin/login","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_login-test.spec.ts-Admin_Login_Page_-_Full_Flow_Test-login-page.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_login-test.spec.ts-Admin_Login_Page_-_Full_Flow_Test-login-page.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_login-test.spec.ts-Admin_Login_Page_-_Full_Flow_Test-login-page.url.txt","timestamp":"2026-07-08T04:26:21.961Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T04:39:37.005Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T04:41:59.266Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\login-test.spec.ts","title":"Admin Login Page - Full Flow Test","label":"login-page","url":"http://localhost:5001/taxbaik/admin/login","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_login-test.spec.ts-Admin_Login_Page_-_Full_Flow_Test-login-page.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_login-test.spec.ts-Admin_Login_Page_-_Full_Flow_Test-login-page.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_login-test.spec.ts-Admin_Login_Page_-_Full_Flow_Test-login-page.url.txt","timestamp":"2026-07-08T04:43:46.285Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T04:44:05.184Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T04:44:05.582Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T04:44:06.563Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T04:44:07.017Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\login-test.spec.ts","title":"Admin Login Page - Full Flow Test","label":"login-page","url":"http://localhost:5001/taxbaik/admin/login","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_login-test.spec.ts-Admin_Login_Page_-_Full_Flow_Test-login-page.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_login-test.spec.ts-Admin_Login_Page_-_Full_Flow_Test-login-page.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_login-test.spec.ts-Admin_Login_Page_-_Full_Flow_Test-login-page.url.txt","timestamp":"2026-07-08T04:44:07.085Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T04:44:41.385Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T04:48:08.591Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\login-test.spec.ts","title":"Admin Login Page - Full Flow Test","label":"login-page","url":"http://localhost:5001/taxbaik/admin/login","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_login-test.spec.ts-Admin_Login_Page_-_Full_Flow_Test-login-page.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_login-test.spec.ts-Admin_Login_Page_-_Full_Flow_Test-login-page.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_login-test.spec.ts-Admin_Login_Page_-_Full_Flow_Test-login-page.url.txt","timestamp":"2026-07-08T04:50:23.774Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T04:51:08.869Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T04:51:09.298Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T04:51:10.431Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T04:51:10.750Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T04:51:52.862Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T04:51:54.699Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T04:51:54.752Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T04:51:56.065Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T04:55:10.424Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T04:55:15.332Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T04:55:15.361Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T04:55:16.180Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T04:58:44.092Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T04:58:48.345Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T04:58:52.658Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T04:58:53.842Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T04:58:54.339Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T04:58:56.242Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T04:58:56.969Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T05:00:05.162Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T05:00:05.469Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T05:00:05.545Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T05:00:06.913Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T05:00:10.971Z"}
|
||||
{"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/taxbaik/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:05:12.337Z"}
|
||||
{"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/taxbaik/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:05:12.386Z"}
|
||||
{"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/taxbaik/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:05:12.420Z"}
|
||||
{"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/taxbaik/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:05:13.258Z"}
|
||||
{"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/taxbaik/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:05:14.224Z"}
|
||||
{"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/taxbaik/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:11:41.149Z"}
|
||||
{"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/taxbaik/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:11:41.845Z"}
|
||||
{"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/taxbaik/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:11:42.244Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T05:11:44.569Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T05:11:46.380Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T05:11:46.492Z"}
|
||||
{"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/taxbaik/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:11:48.309Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T05:11:51.163Z"}
|
||||
{"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/taxbaik/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:11:55.625Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T05:11:56.696Z"}
|
||||
{"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/taxbaik/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:17:29.405Z"}
|
||||
{"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/taxbaik/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:17:30.258Z"}
|
||||
{"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/taxbaik/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:17:35.914Z"}
|
||||
{"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/taxbaik/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:17:44.547Z"}
|
||||
{"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/taxbaik/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:20:40.880Z"}
|
||||
{"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/taxbaik/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:20:40.936Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T05:20:41.211Z"}
|
||||
{"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/taxbaik/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:20:41.372Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T05:20:45.975Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T05:20:48.223Z"}
|
||||
{"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/taxbaik/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:20:48.253Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T05:20:51.144Z"}
|
||||
{"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/taxbaik/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:20:55.645Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T05:20:57.637Z"}
|
||||
{"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/taxbaik/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:25:40.192Z"}
|
||||
{"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/taxbaik/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:25:40.770Z"}
|
||||
{"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/taxbaik/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:25:41.254Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T05:25:42.014Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T05:25:45.734Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T05:25:47.227Z"}
|
||||
{"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/taxbaik/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:25:47.461Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T05:25:51.425Z"}
|
||||
{"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/taxbaik/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:25:57.819Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T05:25:59.231Z"}
|
||||
{"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/taxbaik/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:28:50.524Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T05:28:50.830Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T05:28:51.741Z"}
|
||||
{"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/taxbaik/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:28:52.074Z"}
|
||||
{"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/taxbaik/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:28:52.478Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T05:28:53.691Z"}
|
||||
{"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/taxbaik/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:28:56.387Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T05:29:00.299Z"}
|
||||
{"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/taxbaik/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:29:04.107Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T05:29:05.679Z"}
|
||||
{"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/taxbaik/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:34:37.046Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T05:34:37.305Z"}
|
||||
{"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/taxbaik/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:34:38.299Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T05:34:42.708Z"}
|
||||
{"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/taxbaik/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:34:42.864Z"}
|
||||
{"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/taxbaik/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:34:44.607Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T05:34:44.717Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T05:34:48.175Z"}
|
||||
{"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/taxbaik/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:34:53.747Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T05:34:54.825Z"}
|
||||
{"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/taxbaik/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:36:33.475Z"}
|
||||
{"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/taxbaik/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:36:34.901Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T05:36:35.862Z"}
|
||||
{"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/taxbaik/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:36:36.055Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T05:36:39.548Z"}
|
||||
{"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/taxbaik/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:36:41.020Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T05:36:41.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/taxbaik/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:36:49.272Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/taxbaik/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T05:36:50.984Z"}
|
||||
{"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:54:14.775Z"}
|
||||
{"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:54:14.928Z"}
|
||||
{"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:54:15.787Z"}
|
||||
{"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:54:18.680Z"}
|
||||
{"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:54:30.590Z"}
|
||||
{"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:20.405Z"}
|
||||
{"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:20.608Z"}
|
||||
{"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"}
|
||||
{"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:54:32.734Z"}
|
||||
{"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:54:32.827Z"}
|
||||
{"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:54:33.940Z"}
|
||||
{"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:54:35.290Z"}
|
||||
{"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:54:42.215Z"}
|
||||
{"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-08T07:08:22.155Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T07:08:23.325Z"}
|
||||
{"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-08T07:08:24.806Z"}
|
||||
{"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-08T07:08:25.580Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T07:08:27.384Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T07:08:27.547Z"}
|
||||
{"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-08T07:08:38.799Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T07:08:43.022Z"}
|
||||
{"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-08T07:08:43.852Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T07:08:45.372Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T07:09:58.071Z"}
|
||||
{"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-08T07:11:10.256Z"}
|
||||
{"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-08T07:11:11.428Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T07:11:11.598Z"}
|
||||
{"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-08T07:11:11.755Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T07:11:15.607Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T07:11:15.844Z"}
|
||||
{"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-08T07:11:17.920Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T07:11:19.476Z"}
|
||||
{"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-08T07:11:26.569Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T07:11:28.462Z"}
|
||||
{"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-08T07:24:21.827Z"}
|
||||
{"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-08T07:24:23.049Z"}
|
||||
{"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-08T07:24:23.129Z"}
|
||||
{"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-08T07:24:23.293Z"}
|
||||
{"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-08T07:24:23.695Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T07:24:43.678Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T07:24:44.062Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T07:24:44.694Z"}
|
||||
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T07:24:51.687Z"}
|
||||
@@ -0,0 +1,10 @@
|
||||
import { defineConfig, devices } from '@playwright/test';
|
||||
|
||||
export default defineConfig({
|
||||
testDir: './tests/e2e',
|
||||
use: {
|
||||
headless: false, // 브라우저 띄우기
|
||||
screenshot: 'only-on-failure',
|
||||
video: 'retain-on-failure',
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,160 @@
|
||||
#!/bin/bash
|
||||
# TaxBaik Nginx 설정 자동 수정 스크립트
|
||||
# 경로 최적화 이후 Nginx에서 /taxbaik 프리픽스를 제거하도록 설정
|
||||
|
||||
set -e
|
||||
|
||||
echo "🚀 TaxBaik Nginx 설정 수정"
|
||||
echo "=============================="
|
||||
echo ""
|
||||
|
||||
# 색상 정의
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
BLUE='\033[0;34m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# 1. Nginx 설정 파일 찾기
|
||||
echo "📍 Nginx 설정 파일 찾기..."
|
||||
|
||||
if [ ! -f "/etc/nginx/sites-available/taxbaik-domains.conf" ]; then
|
||||
echo -e "${RED}❌ 파일 없음: /etc/nginx/sites-available/taxbaik-domains.conf${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
NGINX_FILE="/etc/nginx/sites-available/taxbaik-domains.conf"
|
||||
echo -e "${GREEN}✅ 파일 발견: $NGINX_FILE${NC}"
|
||||
echo ""
|
||||
|
||||
# 2. 백업 생성
|
||||
echo "💾 백업 생성..."
|
||||
BACKUP_FILE="${NGINX_FILE}.backup.$(date +%Y%m%d_%H%M%S)"
|
||||
cp "$NGINX_FILE" "$BACKUP_FILE"
|
||||
echo -e "${GREEN}✅ 백업: $BACKUP_FILE${NC}"
|
||||
echo ""
|
||||
|
||||
# 3. 현재 설정 확인
|
||||
echo "📋 현재 설정 확인..."
|
||||
echo -e "${BLUE}"
|
||||
grep -A 10 "location /taxbaik" "$NGINX_FILE" | head -15
|
||||
echo -e "${NC}"
|
||||
echo ""
|
||||
|
||||
# 4. 설정 수정
|
||||
echo "🔧 설정 수정 중..."
|
||||
|
||||
# 임시 파일 생성
|
||||
TEMP_FILE="${NGINX_FILE}.tmp"
|
||||
|
||||
# sed를 사용하여 설정 수정
|
||||
sed -e '/location \/taxbaik {/,/^[[:space:]]*}[[:space:]]*$/{
|
||||
/location \/taxbaik {/c\
|
||||
location /taxbaik/ {
|
||||
/proxy_pass[[:space:]]*http:\/\/127.0.0.1:5001;/c\
|
||||
proxy_pass http://127.0.0.1:5001/;
|
||||
/proxy_pass[[:space:]]*http:\/\/127.0.0.1:5001;/a\
|
||||
rewrite ^/taxbaik/(.*)$ /$1 break;
|
||||
}' "$NGINX_FILE" > "$TEMP_FILE"
|
||||
|
||||
# 수정된 설정 확인
|
||||
if grep -q "rewrite ^/taxbaik/" "$TEMP_FILE"; then
|
||||
mv "$TEMP_FILE" "$NGINX_FILE"
|
||||
echo -e "${GREEN}✅ 설정 수정 완료${NC}"
|
||||
else
|
||||
echo -e "${YELLOW}⚠️ 수정 실패, 다른 방법 시도 중...${NC}"
|
||||
rm "$TEMP_FILE"
|
||||
|
||||
# 수동 수정 (더 신뢰할 수 있는 방법)
|
||||
python3 << 'PYTHON_SCRIPT'
|
||||
import re
|
||||
|
||||
nginx_file = "/etc/nginx/sites-available/taxbaik-domains.conf"
|
||||
|
||||
with open(nginx_file, 'r') as f:
|
||||
content = f.read()
|
||||
|
||||
# location /taxbaik { 을 location /taxbaik/ { 로 변경
|
||||
content = content.replace('location /taxbaik {', 'location /taxbaik/ {')
|
||||
|
||||
# proxy_pass http://127.0.0.1:5001; 을 찾아서 수정
|
||||
pattern = r'(location /taxbaik/ \{.*?)(proxy_pass\s+http://127\.0\.0\.1:5001;)'
|
||||
replacement = r'\1proxy_pass http://127.0.0.1:5001/;'
|
||||
content = re.sub(pattern, replacement, content, flags=re.DOTALL)
|
||||
|
||||
# rewrite 규칙 추가 (이미 있으면 스킵)
|
||||
if 'rewrite ^/taxbaik/' not in content:
|
||||
pattern = r'(location /taxbaik/ \{.*?proxy_pass.*?;)'
|
||||
replacement = r'\1\n rewrite ^/taxbaik/(.*)$ /$1 break;'
|
||||
content = re.sub(pattern, replacement, content, flags=re.DOTALL)
|
||||
|
||||
with open(nginx_file, 'w') as f:
|
||||
f.write(content)
|
||||
|
||||
print("✅ Python을 통한 수정 완료")
|
||||
PYTHON_SCRIPT
|
||||
|
||||
fi
|
||||
|
||||
echo ""
|
||||
|
||||
# 5. 수정 결과 확인
|
||||
echo "📋 수정된 설정 확인..."
|
||||
echo -e "${BLUE}"
|
||||
grep -A 10 "location /taxbaik" "$NGINX_FILE" | head -15
|
||||
echo -e "${NC}"
|
||||
echo ""
|
||||
|
||||
# 6. Nginx 문법 검증
|
||||
echo "🔍 Nginx 문법 검증..."
|
||||
if nginx -t 2>&1 | grep -q "successful"; then
|
||||
echo -e "${GREEN}✅ 문법 검증 성공${NC}"
|
||||
SYNTAX_OK=1
|
||||
else
|
||||
echo -e "${RED}❌ 문법 오류 발생${NC}"
|
||||
echo "오류 내용:"
|
||||
nginx -t
|
||||
SYNTAX_OK=0
|
||||
fi
|
||||
|
||||
echo ""
|
||||
|
||||
# 7. Nginx 재시작 또는 롤백
|
||||
if [ $SYNTAX_OK -eq 1 ]; then
|
||||
echo "🔄 Nginx 재로드..."
|
||||
if systemctl reload nginx 2>&1; then
|
||||
echo -e "${GREEN}✅ Nginx 재로드 성공${NC}"
|
||||
else
|
||||
echo -e "${YELLOW}⚠️ Nginx 재로드 실패, 설정 롤백...${NC}"
|
||||
cp "$BACKUP_FILE" "$NGINX_FILE"
|
||||
systemctl reload nginx
|
||||
echo -e "${RED}❌ 롤백 완료${NC}"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo -e "${RED}❌ 문법 오류로 인해 설정 롤백${NC}"
|
||||
cp "$BACKUP_FILE" "$NGINX_FILE"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
|
||||
# 8. 최종 확인
|
||||
echo "🧪 최종 확인..."
|
||||
echo ""
|
||||
echo -e "${BLUE}=== 설정 확인 ===${NC}"
|
||||
grep -A 5 "location /taxbaik" "$NGINX_FILE" | head -8
|
||||
echo ""
|
||||
echo -e "${GREEN}✅ 설정 수정 완료!${NC}"
|
||||
echo ""
|
||||
echo "📝 변경 사항:"
|
||||
echo " 1. location /taxbaik → location /taxbaik/ (슬래시 추가)"
|
||||
echo " 2. proxy_pass http://127.0.0.1:5001; → proxy_pass http://127.0.0.1:5001/; (슬래시 추가)"
|
||||
echo " 3. rewrite 규칙 추가: ^/taxbaik/(.*)$ /$1 break"
|
||||
echo ""
|
||||
echo "🔙 백업 파일: $BACKUP_FILE"
|
||||
echo ""
|
||||
echo "✨ 배포 다음 단계:"
|
||||
echo " 1. E2E 테스트 실행: npx playwright test"
|
||||
echo " 2. 공개 사이트 확인: http://www.taxbaik.com/taxbaik/"
|
||||
echo " 3. 관리자 페이지 확인: http://www.taxbaik.com/taxbaik/admin/"
|
||||
@@ -26,9 +26,9 @@
|
||||
<td>@inquiry.CreatedAt.ToString("yyyy-MM-dd")</td>
|
||||
<td>
|
||||
<MudButton Size="Size.Small" Variant="Variant.Outlined" Color="Color.Primary"
|
||||
Href="@($"/taxbaik/admin/inquiries/{inquiry.Id}")">보기</MudButton>
|
||||
Href="@($"./inquiries/{inquiry.Id}")">보기</MudButton>
|
||||
<MudButton Size="Size.Small" Variant="Variant.Outlined" Color="Color.Info"
|
||||
Href="@($"/taxbaik/admin/inquiries/{inquiry.Id}/edit")">수정</MudButton>
|
||||
Href="@($"./inquiries/{inquiry.Id}/edit")">수정</MudButton>
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
@(isSaving ? "저장 중..." : "저장")
|
||||
</MudButton>
|
||||
<MudButton Variant="Variant.Outlined"
|
||||
@onclick="@(() => Navigation.NavigateTo("/taxbaik/admin/announcements"))">
|
||||
@onclick="@(() => Navigation.NavigateTo("./announcements"))">
|
||||
취소
|
||||
</MudButton>
|
||||
</div>
|
||||
@@ -105,7 +105,7 @@
|
||||
var entity = await AnnouncementClient.GetByIdAsync(Id.Value);
|
||||
if (entity is null)
|
||||
{
|
||||
Navigation.NavigateTo("/taxbaik/admin/announcements");
|
||||
Navigation.NavigateTo("./announcements");
|
||||
return;
|
||||
}
|
||||
model = new AnnouncementDto
|
||||
@@ -122,7 +122,7 @@
|
||||
}
|
||||
catch
|
||||
{
|
||||
Navigation.NavigateTo("/taxbaik/admin/announcements");
|
||||
Navigation.NavigateTo("./announcements");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -159,7 +159,7 @@
|
||||
else
|
||||
Snackbar.Add("저장 실패", Severity.Error);
|
||||
}
|
||||
Navigation.NavigateTo("/taxbaik/admin/announcements");
|
||||
Navigation.NavigateTo("./announcements");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<AdminPageHeader Title="공지사항 관리" Eyebrow="Homepage" Subtitle="홈페이지 상단에 노출되는 공지사항을 등록하고 관리합니다.">
|
||||
<MudButton Variant="Variant.Filled" Color="Color.Primary"
|
||||
StartIcon="@Icons.Material.Filled.Add"
|
||||
Href="/taxbaik/admin/announcements/create">
|
||||
Href="./announcements/create">
|
||||
공지 등록
|
||||
</MudButton>
|
||||
</AdminPageHeader>
|
||||
@@ -79,7 +79,7 @@
|
||||
<td>@item.SortOrder</td>
|
||||
<td>
|
||||
<MudButtonGroup Size="Size.Small" Variant="Variant.Outlined">
|
||||
<MudButton @onclick="@(() => Navigation.NavigateTo($"/taxbaik/admin/announcements/{item.Id}/edit"))">
|
||||
<MudButton @onclick="@(() => Navigation.NavigateTo($"./announcements/{item.Id}/edit"))">
|
||||
수정
|
||||
</MudButton>
|
||||
<MudButton Color="Color.Error" @onclick="@(() => DeleteAsync(item))">
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
|
||||
private void GoBack()
|
||||
{
|
||||
Navigation.NavigateTo("/taxbaik/admin/blog");
|
||||
Navigation.NavigateTo("./blog");
|
||||
}
|
||||
|
||||
private async Task SavePost()
|
||||
@@ -56,7 +56,7 @@
|
||||
}
|
||||
|
||||
Snackbar.Add("포스트가 저장되었습니다.", Severity.Success);
|
||||
Navigation.NavigateTo("/taxbaik/admin/blog");
|
||||
Navigation.NavigateTo("./blog");
|
||||
}
|
||||
catch (ValidationException ex)
|
||||
{
|
||||
|
||||
@@ -83,7 +83,7 @@ else
|
||||
|
||||
private void GoBack()
|
||||
{
|
||||
Navigation.NavigateTo("/taxbaik/admin/blog");
|
||||
Navigation.NavigateTo("./blog");
|
||||
}
|
||||
|
||||
private async Task SavePost()
|
||||
@@ -111,7 +111,7 @@ else
|
||||
}
|
||||
|
||||
Snackbar.Add("포스트가 저장되었습니다.", Severity.Success);
|
||||
Navigation.NavigateTo("/taxbaik/admin/blog");
|
||||
Navigation.NavigateTo("./blog");
|
||||
}
|
||||
catch (ValidationException ex)
|
||||
{
|
||||
@@ -145,7 +145,7 @@ else
|
||||
return;
|
||||
}
|
||||
Snackbar.Add("포스트를 임시로 내렸습니다.", Severity.Success);
|
||||
Navigation.NavigateTo("/taxbaik/admin/blog");
|
||||
Navigation.NavigateTo("./blog");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
새로고침
|
||||
</MudButton>
|
||||
<MudButton Variant="Variant.Filled" Color="Color.Primary" StartIcon="@Icons.Material.Filled.EditNote"
|
||||
Href="/taxbaik/admin/blog/create">새 포스트 작성</MudButton>
|
||||
Href="./blog/create">새 포스트 작성</MudButton>
|
||||
</ChildContent>
|
||||
</AdminPageHeader>
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
<TemplateColumn>
|
||||
<CellTemplate Context="cell">
|
||||
<MudButton Variant="Variant.Outlined" Size="Size.Small" Color="Color.Primary"
|
||||
Href="@($"/taxbaik/admin/blog/{cell.Item.Id}/edit")">수정하기</MudButton>
|
||||
Href="@($"./blog/{cell.Item.Id}/edit")">수정하기</MudButton>
|
||||
@if (showArchived)
|
||||
{
|
||||
<MudButton Variant="Variant.Text" Size="Size.Small" Color="Color.Success"
|
||||
|
||||
@@ -130,10 +130,10 @@
|
||||
|
||||
try
|
||||
{
|
||||
_summary = await Http.GetFromJsonAsync<ClientLogSummaryDto>("/taxbaik/api/client-logs/summary");
|
||||
var url = $"/taxbaik/api/client-logs/recent?q={Uri.EscapeDataString(_query ?? string.Empty)}&level={Uri.EscapeDataString(_level ?? string.Empty)}&source={Uri.EscapeDataString(_source ?? string.Empty)}&route={Uri.EscapeDataString(_route ?? string.Empty)}&start={Uri.EscapeDataString(_start ?? string.Empty)}&end={Uri.EscapeDataString(_end ?? string.Empty)}";
|
||||
_summary = await Http.GetFromJsonAsync<ClientLogSummaryDto>("/api/client-logs/summary");
|
||||
var url = $"/api/client-logs/recent?q={Uri.EscapeDataString(_query ?? string.Empty)}&level={Uri.EscapeDataString(_level ?? string.Empty)}&source={Uri.EscapeDataString(_source ?? string.Empty)}&route={Uri.EscapeDataString(_route ?? string.Empty)}&start={Uri.EscapeDataString(_start ?? string.Empty)}&end={Uri.EscapeDataString(_end ?? string.Empty)}";
|
||||
var result = await Http.GetFromJsonAsync<List<ClientLogDto>>(url);
|
||||
var grouped = await Http.GetFromJsonAsync<List<ClientLogGroupDto>>("/taxbaik/api/client-logs/groups");
|
||||
var grouped = await Http.GetFromJsonAsync<List<ClientLogGroupDto>>("/api/client-logs/groups");
|
||||
if (result is not null)
|
||||
{
|
||||
_entries.AddRange(result);
|
||||
|
||||
@@ -22,12 +22,12 @@
|
||||
<MudStack Row="true" AlignItems="AlignItems.Center" Class="mb-4" Spacing="2">
|
||||
<MudButton Variant="Variant.Outlined" Color="Color.Primary"
|
||||
StartIcon="@Icons.Material.Filled.ArrowBack"
|
||||
@onclick="@(() => Navigation.NavigateTo("/taxbaik/admin/clients"))">
|
||||
@onclick="@(() => Navigation.NavigateTo("./clients"))">
|
||||
목록으로
|
||||
</MudButton>
|
||||
<MudButton Variant="Variant.Outlined" Color="Color.Warning"
|
||||
StartIcon="@Icons.Material.Filled.Edit"
|
||||
Href="@($"/taxbaik/admin/clients/{ClientId}/edit")">
|
||||
Href="@($"./clients/{ClientId}/edit")">
|
||||
수정
|
||||
</MudButton>
|
||||
</MudStack>
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<PageTitle>@(Id.HasValue ? "고객 수정" : "고객 등록")</PageTitle>
|
||||
|
||||
<AdminPageHeader Title="@(Id.HasValue ? "고객 수정" : "고객 등록")" Eyebrow="CRM">
|
||||
<MudButton Variant="Variant.Outlined" Href="/taxbaik/admin/clients"
|
||||
<MudButton Variant="Variant.Outlined" Href="./clients"
|
||||
StartIcon="@Icons.Material.Filled.ArrowBack">목록으로</MudButton>
|
||||
</AdminPageHeader>
|
||||
|
||||
@@ -81,7 +81,7 @@
|
||||
OnClick="@SaveAsync" Disabled="@isSaving">
|
||||
@(isSaving ? "저장 중..." : "저장")
|
||||
</MudButton>
|
||||
<MudButton Variant="Variant.Outlined" Href="/taxbaik/admin/clients">
|
||||
<MudButton Variant="Variant.Outlined" Href="./clients">
|
||||
취소
|
||||
</MudButton>
|
||||
</MudItem>
|
||||
@@ -116,7 +116,7 @@
|
||||
if (client is null)
|
||||
{
|
||||
Snackbar.Add("고객을 찾을 수 없습니다.", Severity.Error);
|
||||
Navigation.NavigateTo("/taxbaik/admin/clients");
|
||||
Navigation.NavigateTo("./clients");
|
||||
return;
|
||||
}
|
||||
dto = new ClientFormModel
|
||||
@@ -135,7 +135,7 @@
|
||||
catch (Exception ex)
|
||||
{
|
||||
Snackbar.Add($"오류: {ex.Message}", Severity.Error);
|
||||
Navigation.NavigateTo("/taxbaik/admin/clients");
|
||||
Navigation.NavigateTo("./clients");
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -188,7 +188,7 @@
|
||||
else
|
||||
Snackbar.Add("등록에 실패했습니다.", Severity.Error);
|
||||
}
|
||||
Navigation.NavigateTo("/taxbaik/admin/clients");
|
||||
Navigation.NavigateTo("./clients");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<ChildContent>
|
||||
<MudButton Variant="Variant.Filled" Color="Color.Primary"
|
||||
StartIcon="@Icons.Material.Filled.PersonAdd"
|
||||
Href="/taxbaik/admin/clients/create">
|
||||
Href="./clients/create">
|
||||
고객 등록
|
||||
</MudButton>
|
||||
</ChildContent>
|
||||
@@ -92,7 +92,7 @@
|
||||
<td class="small">@c.CreatedAt.ToLocalTime().ToString("yy.MM.dd")</td>
|
||||
<td>
|
||||
<MudButtonGroup Size="Size.Small" Variant="Variant.Outlined">
|
||||
<MudButton @onclick="@(() => Navigation.NavigateTo($"/taxbaik/admin/clients/{c.Id}/edit"))">
|
||||
<MudButton @onclick="@(() => Navigation.NavigateTo($"./clients/{c.Id}/edit"))">
|
||||
수정
|
||||
</MudButton>
|
||||
<MudButton Color="Color.Error" @onclick="@(() => DeleteAsync(c))">
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
@code {
|
||||
private void GoBack()
|
||||
{
|
||||
Navigation.NavigateTo("/taxbaik/admin/companies");
|
||||
Navigation.NavigateTo("./companies");
|
||||
}
|
||||
|
||||
private async Task HandleCreate(CompanyFormModel model)
|
||||
@@ -37,7 +37,7 @@
|
||||
});
|
||||
|
||||
Snackbar.Add("고객사가 등록되었습니다.", Severity.Success);
|
||||
Navigation.NavigateTo("/taxbaik/admin/companies");
|
||||
Navigation.NavigateTo("./companies");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
|
||||
private void GoBack()
|
||||
{
|
||||
Navigation.NavigateTo("/taxbaik/admin/companies");
|
||||
Navigation.NavigateTo("./companies");
|
||||
}
|
||||
|
||||
private async Task HandleUpdate(CompanyFormModel model)
|
||||
@@ -98,7 +98,7 @@
|
||||
});
|
||||
|
||||
Snackbar.Add("고객사가 수정되었습니다.", Severity.Success);
|
||||
Navigation.NavigateTo("/taxbaik/admin/companies");
|
||||
Navigation.NavigateTo("./companies");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -120,7 +120,7 @@
|
||||
{
|
||||
await ApiClient.DeleteAsync($"company/{Id}");
|
||||
Snackbar.Add("고객사가 삭제되었습니다.", Severity.Success);
|
||||
Navigation.NavigateTo("/taxbaik/admin/companies");
|
||||
Navigation.NavigateTo("./companies");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
<AdminPageHeader Title="고객사 관리" Eyebrow="Settings" Subtitle="등록된 고객사를 관리하고 새로운 고객사를 추가합니다.">
|
||||
<MudButton Variant="Variant.Filled" Color="Color.Primary" StartIcon="@Icons.Material.Filled.Add"
|
||||
Href="/taxbaik/admin/companies/create">새 고객사 등록</MudButton>
|
||||
Href="./companies/create">새 고객사 등록</MudButton>
|
||||
</AdminPageHeader>
|
||||
|
||||
<MudPaper Class="admin-surface mb-4 mt-4" Elevation="0">
|
||||
@@ -34,7 +34,7 @@
|
||||
<TemplateColumn>
|
||||
<CellTemplate Context="cell">
|
||||
<MudButton Variant="Variant.Outlined" Size="Size.Small" Color="Color.Primary"
|
||||
Href="@($"/taxbaik/admin/companies/{cell.Item.Id}/edit")">수정</MudButton>
|
||||
Href="@($"./companies/{cell.Item.Id}/edit")">수정</MudButton>
|
||||
</CellTemplate>
|
||||
</TemplateColumn>
|
||||
</Columns>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<MudText Typo="Typo.body2" Class="mb-4 flex-grow-1">
|
||||
브라우저 오류와 JS interop 실패는 클라이언트 로그에서 바로 추적합니다.
|
||||
</MudText>
|
||||
<MudLink Href="/taxbaik/admin/client-logs" Color="Color.Primary" Class="font-weight-bold">
|
||||
<MudLink Href="./client-logs" Color="Color.Primary" Class="font-weight-bold">
|
||||
클라이언트 로그 보기 →
|
||||
</MudLink>
|
||||
</MudPaper>
|
||||
@@ -31,7 +31,7 @@
|
||||
<MudText Typo="Typo.body2" Class="mb-4 flex-grow-1">
|
||||
CRM, 홈페이지, 문의 관리 화면을 표준 템플릿으로 확장합니다.
|
||||
</MudText>
|
||||
<MudLink Href="/taxbaik/admin/inquiries" Color="Color.Primary" Class="font-weight-bold">
|
||||
<MudLink Href="./inquiries" Color="Color.Primary" Class="font-weight-bold">
|
||||
문의 관리로 이동 →
|
||||
</MudLink>
|
||||
</MudPaper>
|
||||
@@ -45,7 +45,7 @@
|
||||
<MudText Typo="Typo.body2" Class="mb-4 flex-grow-1">
|
||||
하위 경로 배포와 렌더러 분리를 유지하도록 라우트 린트를 적용합니다.
|
||||
</MudText>
|
||||
<MudLink Href="/taxbaik/admin/client-logs" Color="Color.Primary" Class="font-weight-bold">
|
||||
<MudLink Href="./client-logs" Color="Color.Primary" Class="font-weight-bold">
|
||||
최근 에러 확인 →
|
||||
</MudLink>
|
||||
</MudPaper>
|
||||
@@ -59,7 +59,7 @@
|
||||
<MudText Typo="Typo.body2" Class="mb-4 flex-grow-1">
|
||||
중복되는 오류는 최근 로그 요약에서 source와 route 기준으로 묶어 봅니다.
|
||||
</MudText>
|
||||
<MudLink Href="/taxbaik/admin/client-logs?q=invoke" Color="Color.Primary" Class="font-weight-bold">
|
||||
<MudLink Href="./client-logs?q=invoke" Color="Color.Primary" Class="font-weight-bold">
|
||||
오류 검색 →
|
||||
</MudLink>
|
||||
</MudPaper>
|
||||
@@ -73,7 +73,7 @@
|
||||
<MudText Typo="Typo.body2" Class="mb-4 flex-grow-1">
|
||||
Top sources / routes를 확인해서 어떤 모듈이 재발하는지 빠르게 좁힙니다.
|
||||
</MudText>
|
||||
<MudLink Href="/taxbaik/admin/client-logs" Color="Color.Primary" Class="font-weight-bold">
|
||||
<MudLink Href="./client-logs" Color="Color.Primary" Class="font-weight-bold">
|
||||
요약 리포트 보기 →
|
||||
</MudLink>
|
||||
</MudPaper>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<MudText Typo="Typo.body2" Class="mb-4 flex-grow-1">
|
||||
브라우저 오류와 JS interop 실패는 클라이언트 로그에서 바로 추적합니다.
|
||||
</MudText>
|
||||
<MudLink Href="/taxbaik/admin/client-logs" Color="Color.Primary" Class="font-weight-bold">
|
||||
<MudLink Href="./client-logs" Color="Color.Primary" Class="font-weight-bold">
|
||||
클라이언트 로그 보기 →
|
||||
</MudLink>
|
||||
</MudPaper>
|
||||
@@ -31,7 +31,7 @@
|
||||
<MudText Typo="Typo.body2" Class="mb-4 flex-grow-1">
|
||||
CRM, 홈페이지, 문의 관리 화면을 표준 템플릿으로 확장합니다.
|
||||
</MudText>
|
||||
<MudLink Href="/taxbaik/admin/inquiries" Color="Color.Primary" Class="font-weight-bold">
|
||||
<MudLink Href="./inquiries" Color="Color.Primary" Class="font-weight-bold">
|
||||
문의 관리로 이동 →
|
||||
</MudLink>
|
||||
</MudPaper>
|
||||
@@ -45,7 +45,7 @@
|
||||
<MudText Typo="Typo.body2" Class="mb-4 flex-grow-1">
|
||||
하위 경로 배포와 렌더러 분리를 유지하도록 라우트 린트를 적용합니다.
|
||||
</MudText>
|
||||
<MudLink Href="/taxbaik/admin/client-logs" Color="Color.Primary" Class="font-weight-bold">
|
||||
<MudLink Href="./client-logs" Color="Color.Primary" Class="font-weight-bold">
|
||||
최근 에러 확인 →
|
||||
</MudLink>
|
||||
</MudPaper>
|
||||
@@ -59,7 +59,7 @@
|
||||
<MudText Typo="Typo.body2" Class="mb-4 flex-grow-1">
|
||||
중복되는 오류는 최근 로그 요약에서 source와 route 기준으로 묶어 봅니다.
|
||||
</MudText>
|
||||
<MudLink Href="/taxbaik/admin/client-logs?q=invoke" Color="Color.Primary" Class="font-weight-bold">
|
||||
<MudLink Href="./client-logs?q=invoke" Color="Color.Primary" Class="font-weight-bold">
|
||||
오류 검색 →
|
||||
</MudLink>
|
||||
</MudPaper>
|
||||
@@ -73,7 +73,7 @@
|
||||
<MudText Typo="Typo.body2" Class="mb-4 flex-grow-1">
|
||||
Top sources / routes를 확인해서 어떤 모듈이 재발하는지 빠르게 좁힙니다.
|
||||
</MudText>
|
||||
<MudLink Href="/taxbaik/admin/client-logs" Color="Color.Primary" Class="font-weight-bold">
|
||||
<MudLink Href="./client-logs" Color="Color.Primary" Class="font-weight-bold">
|
||||
요약 리포트 보기 →
|
||||
</MudLink>
|
||||
</MudPaper>
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<PageTitle>@(Id.HasValue ? "FAQ 수정" : "FAQ 등록")</PageTitle>
|
||||
|
||||
<AdminPageHeader Title="@(Id.HasValue ? "FAQ 수정" : "FAQ 등록")" Eyebrow="홈페이지">
|
||||
<MudButton Variant="Variant.Outlined" Href="/taxbaik/admin/faqs"
|
||||
<MudButton Variant="Variant.Outlined" Href="./faqs"
|
||||
StartIcon="@Icons.Material.Filled.ArrowBack">목록으로</MudButton>
|
||||
</AdminPageHeader>
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
OnClick="@SaveAsync" Disabled="@isSaving">
|
||||
@(isSaving ? "저장 중..." : "저장")
|
||||
</MudButton>
|
||||
<MudButton Variant="Variant.Outlined" Href="/taxbaik/admin/faqs">
|
||||
<MudButton Variant="Variant.Outlined" Href="./faqs">
|
||||
취소
|
||||
</MudButton>
|
||||
</MudItem>
|
||||
@@ -89,7 +89,7 @@
|
||||
if (existing is null)
|
||||
{
|
||||
Snackbar.Add("FAQ를 찾을 수 없습니다.", Severity.Error);
|
||||
Navigation.NavigateTo("/taxbaik/admin/faqs");
|
||||
Navigation.NavigateTo("./faqs");
|
||||
return;
|
||||
}
|
||||
model = new FaqFormModel
|
||||
@@ -104,7 +104,7 @@
|
||||
catch (Exception ex)
|
||||
{
|
||||
Snackbar.Add($"오류: {ex.Message}", Severity.Error);
|
||||
Navigation.NavigateTo("/taxbaik/admin/faqs");
|
||||
Navigation.NavigateTo("./faqs");
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -145,7 +145,7 @@
|
||||
else
|
||||
Snackbar.Add("등록 실패", Severity.Error);
|
||||
}
|
||||
Navigation.NavigateTo("/taxbaik/admin/faqs");
|
||||
Navigation.NavigateTo("./faqs");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<AdminPageHeader Title="FAQ 관리" Eyebrow="홈페이지" Subtitle="홈페이지 자주 묻는 질문을 등록하고 순서를 관리합니다.">
|
||||
<MudButton Variant="Variant.Filled" Color="Color.Primary"
|
||||
StartIcon="@Icons.Material.Filled.Add"
|
||||
Href="/taxbaik/admin/faqs/create">
|
||||
Href="./faqs/create">
|
||||
FAQ 등록
|
||||
</MudButton>
|
||||
</AdminPageHeader>
|
||||
@@ -82,7 +82,7 @@
|
||||
</td>
|
||||
<td>
|
||||
<MudButtonGroup Size="Size.Small" Variant="Variant.Outlined">
|
||||
<MudButton @onclick="@(() => Navigation.NavigateTo($"/taxbaik/admin/faqs/{item.Id}/edit"))">
|
||||
<MudButton @onclick="@(() => Navigation.NavigateTo($"./faqs/{item.Id}/edit"))">
|
||||
수정
|
||||
</MudButton>
|
||||
<MudButton Color="Color.Error" @onclick="@(() => DeleteAsync(item))">
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
@code {
|
||||
private void GoBack()
|
||||
{
|
||||
Navigation.NavigateTo("/taxbaik/admin/inquiries");
|
||||
Navigation.NavigateTo("./inquiries");
|
||||
}
|
||||
|
||||
private async Task HandleCreate(InquiryFormModel model)
|
||||
@@ -49,7 +49,7 @@
|
||||
Snackbar.Add("✅ 문의가 등록되었고 고객에게 알림이 발송되었습니다.", Severity.Success);
|
||||
// 사용자가 성공 메시지를 볼 수 있도록 3초 후에 목록으로 이동
|
||||
await Task.Delay(3000);
|
||||
Navigation.NavigateTo("/taxbaik/admin/inquiries");
|
||||
Navigation.NavigateTo("./inquiries");
|
||||
}
|
||||
catch (ValidationException ex)
|
||||
{
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<MudButton Variant="Variant.Outlined"
|
||||
Color="Color.Primary"
|
||||
StartIcon="@Icons.Material.Filled.ArrowBack"
|
||||
@onclick="@(() => Navigation.NavigateTo("/taxbaik/admin/inquiries"))">
|
||||
@onclick="@(() => Navigation.NavigateTo("./inquiries"))">
|
||||
문의 목록으로
|
||||
</MudButton>
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
{
|
||||
<AdminDetailSection Title="연결된 고객" CssClass="pa-4 mt-4">
|
||||
<MudButton Variant="Variant.Outlined" Color="Color.Primary" FullWidth="true"
|
||||
Href="@($"/taxbaik/admin/clients/{inquiry.ClientId}")">
|
||||
Href="@($"./clients/{inquiry.ClientId}")">
|
||||
고객 카드 보기
|
||||
</MudButton>
|
||||
</AdminDetailSection>
|
||||
|
||||
@@ -81,7 +81,7 @@ else
|
||||
|
||||
private void GoBack()
|
||||
{
|
||||
Navigation.NavigateTo("/taxbaik/admin/inquiries");
|
||||
Navigation.NavigateTo("./inquiries");
|
||||
}
|
||||
|
||||
private async Task HandleUpdate(InquiryFormModel model)
|
||||
@@ -121,7 +121,7 @@ else
|
||||
};
|
||||
|
||||
Snackbar.Add("문의가 수정되었습니다.", Severity.Success);
|
||||
Navigation.NavigateTo("/taxbaik/admin/inquiries");
|
||||
Navigation.NavigateTo("./inquiries");
|
||||
}
|
||||
catch (ValidationException ex)
|
||||
{
|
||||
@@ -155,7 +155,7 @@ else
|
||||
return;
|
||||
}
|
||||
Snackbar.Add("문의가 삭제되었습니다.", Severity.Success);
|
||||
Navigation.NavigateTo("/taxbaik/admin/inquiries");
|
||||
Navigation.NavigateTo("./inquiries");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<AdminPageHeader Title="문의 관리" Eyebrow="Customer Requests" Subtitle="상담 요청을 상태별로 확인하고 후속 조치를 기록합니다.">
|
||||
<ChildContent>
|
||||
<MudButton Variant="Variant.Filled" Color="Color.Primary" StartIcon="@Icons.Material.Filled.Add"
|
||||
Href="/taxbaik/admin/inquiries/create">새 문의 등록</MudButton>
|
||||
Href="./inquiries/create">새 문의 등록</MudButton>
|
||||
</ChildContent>
|
||||
</AdminPageHeader>
|
||||
|
||||
|
||||
@@ -13,6 +13,6 @@
|
||||
await AuthStateProvider.LogoutAsync();
|
||||
|
||||
// 로그인 페이지로 리다이렉트
|
||||
NavigationManager.NavigateTo("/taxbaik/admin/login", forceLoad: true);
|
||||
NavigationManager.NavigateTo("./login", forceLoad: true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
return;
|
||||
|
||||
var returnUrl = Uri.EscapeDataString(GetSafeReturnUrl());
|
||||
Navigation.NavigateTo($"/taxbaik/admin/login?returnUrl={returnUrl}", replace: true);
|
||||
Navigation.NavigateTo($"./login?returnUrl={returnUrl}", replace: true);
|
||||
}
|
||||
|
||||
private string GetSafeReturnUrl()
|
||||
|
||||
@@ -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 프리픽스 처리)
|
||||
}
|
||||
}
|
||||
|
||||
+11
-2
@@ -71,7 +71,8 @@ public class CustomAuthenticationStateProvider : AuthenticationStateProvider
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError(ex, "인증 상태 조회 중 오류 발생");
|
||||
_logger.LogError(ex, "❌ 인증 상태 조회 중 오류 발생: {ExceptionType} - {Message} - {StackTrace}",
|
||||
ex.GetType().Name, ex.Message, ex.StackTrace);
|
||||
return new AuthenticationState(new ClaimsPrincipal(new ClaimsIdentity()));
|
||||
}
|
||||
}
|
||||
@@ -80,13 +81,21 @@ public class CustomAuthenticationStateProvider : AuthenticationStateProvider
|
||||
{
|
||||
try
|
||||
{
|
||||
if (string.IsNullOrEmpty(token))
|
||||
{
|
||||
_logger.LogWarning("❌ 토큰이 비어있습니다");
|
||||
return null;
|
||||
}
|
||||
|
||||
var handler = new JwtSecurityTokenHandler();
|
||||
var jwtToken = handler.ReadJwtToken(token);
|
||||
var identity = new ClaimsIdentity(jwtToken.Claims, "jwt");
|
||||
_logger.LogInformation("✅ 토큰 검증 성공: {Claims} claims", jwtToken.Claims.Count());
|
||||
return new ClaimsPrincipal(identity);
|
||||
}
|
||||
catch
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError(ex, "❌ 토큰 검증 실패: {ExceptionType} - {Message}", ex.GetType().Name, ex.Message);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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");
|
||||
|
||||
|
||||
@@ -114,7 +114,7 @@
|
||||
if (passwordInput) passwordInput.value = '" + password + @"';
|
||||
|
||||
// Razor Pages에서 처리하도록 폼 제출
|
||||
const action = form.getAttribute('action') || '/taxbaik/admin/login';
|
||||
const action = form.getAttribute('action') || './login';
|
||||
form.action = action;
|
||||
form.method = 'POST';
|
||||
form.submit();
|
||||
|
||||
@@ -19,28 +19,28 @@ public static class AdminNavigationCatalog
|
||||
public static IReadOnlyList<AdminNavigationSection> 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"]),
|
||||
]),
|
||||
];
|
||||
}
|
||||
|
||||
@@ -9,8 +9,8 @@
|
||||
<div class="admin-brand-subtitle">세무회계 관리 대시보드</div>
|
||||
</div>
|
||||
<div class="admin-topbar-actions">
|
||||
<a class="admin-topbar-action" href="/taxbaik" target="_blank" rel="noopener">공개 사이트</a>
|
||||
<a class="admin-topbar-action" href="/taxbaik/admin/logout">로그아웃</a>
|
||||
<a class="admin-topbar-action" href="/" target="_blank" rel="noopener">공개 사이트</a>
|
||||
<a class="admin-topbar-action" href="./logout">로그아웃</a>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
|
||||
@@ -29,8 +29,8 @@
|
||||
</nav>
|
||||
|
||||
<div class="admin-drawer-footer">
|
||||
<a class="admin-footer-item" href="/taxbaik" target="_blank" rel="noopener">공개 사이트</a>
|
||||
<a class="admin-footer-item" href="/taxbaik/admin/logout">로그아웃</a>
|
||||
<a class="admin-footer-item" href="/" target="_blank" rel="noopener">공개 사이트</a>
|
||||
<a class="admin-footer-item" href="./logout">로그아웃</a>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
|
||||
@@ -7,9 +7,9 @@ using TaxBaik.Web.Services.AdminClients;
|
||||
var builder = WebAssemblyHostBuilder.CreateDefault(args);
|
||||
builder.RootComponents.Add<TaxBaik.WasmClient.Components.Admin.App>("#app");
|
||||
|
||||
// API Base Url: Admin SPA is hosted under /taxbaik/admin/, while APIs live under /taxbaik/api/.
|
||||
// API Base Url: 상대 경로 사용 (Nginx가 /taxbaik 프리픽스 처리)
|
||||
var hostBase = new Uri(builder.HostEnvironment.BaseAddress);
|
||||
var apiBaseUrl = new Uri(hostBase, "/taxbaik/api/").ToString();
|
||||
var apiBaseUrl = new Uri(hostBase, "/api/").ToString();
|
||||
|
||||
// HTTP Client for API (with automatic token refresh)
|
||||
builder.Services.AddScoped<ITokenStore, TokenStore>();
|
||||
|
||||
@@ -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 프리픽스 처리)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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"); // 상대 경로 사용
|
||||
var json = JsonSerializer.Serialize(new { refreshToken });
|
||||
var content = new StringContent(json, System.Text.Encoding.UTF8, "application/json");
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<nav aria-label="breadcrumb" class="py-3" style="background: #F9F7F3; border-bottom: 1px solid #D9D3C4;">
|
||||
<div class="container">
|
||||
<ol class="breadcrumb mb-0">
|
||||
<li class="breadcrumb-item"><a href="/taxbaik/" class="text-decoration-none">홈</a></li>
|
||||
<li class="breadcrumb-item"><a href="/" class="text-decoration-none">홈</a></li>
|
||||
<li class="breadcrumb-item active">소개</li>
|
||||
</ol>
|
||||
</div>
|
||||
@@ -16,7 +16,7 @@
|
||||
<div class="container py-5">
|
||||
<!-- 돌아가기 버튼 -->
|
||||
<div class="mb-4">
|
||||
<a href="/taxbaik/" class="btn btn-sm btn-outline-secondary">← 홈으로 돌아가기</a>
|
||||
<a href="/" class="btn btn-sm btn-outline-secondary">← 홈으로 돌아가기</a>
|
||||
</div>
|
||||
|
||||
<!-- Hero Section -->
|
||||
@@ -141,7 +141,7 @@
|
||||
<h3 class="fw-bold mb-3">세금 고민, 이제 끝내세요</h3>
|
||||
<p class="text-muted mb-5">무료 상담으로 현재 상황을 진단하고 맞춤형 절세 전략을 받아보세요.</p>
|
||||
<div class="d-flex gap-3 justify-content-center flex-wrap">
|
||||
<a href="/taxbaik/contact" class="btn btn-primary btn-lg">상담 신청하기</a>
|
||||
<a href="/contact" class="btn btn-primary btn-lg">상담 신청하기</a>
|
||||
<a href="https://pf.kakao.com/_xoxchTX" target="_blank" rel="noopener noreferrer" class="btn btn-warning btn-lg">카카오채널로 문의</a>
|
||||
</div>
|
||||
</section>
|
||||
@@ -151,19 +151,19 @@
|
||||
<h4 class="fw-bold mb-4">다른 페이지 보기</h4>
|
||||
<div class="row g-3 justify-content-center">
|
||||
<div class="col-md-4">
|
||||
<a href="/taxbaik/" class="btn btn-outline-primary btn-sm w-100 py-3">
|
||||
<a href="/" class="btn btn-outline-primary btn-sm w-100 py-3">
|
||||
🏠 홈으로<br/>
|
||||
<small class="text-muted">서비스 및 최신 정보</small>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<a href="/taxbaik/services" class="btn btn-outline-primary btn-sm w-100 py-3">
|
||||
<a href="/services" class="btn btn-outline-primary btn-sm w-100 py-3">
|
||||
📊 전문 서비스<br/>
|
||||
<small class="text-muted">사업자·부동산·자산 관리</small>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<a href="/taxbaik/blog" class="btn btn-outline-primary btn-sm w-100 py-3">
|
||||
<a href="/blog" class="btn btn-outline-primary btn-sm w-100 py-3">
|
||||
📝 세무 정보 블로그<br/>
|
||||
<small class="text-muted">절세팁 및 신고 가이드</small>
|
||||
</a>
|
||||
|
||||
@@ -32,7 +32,7 @@ public class LoginModel(AuthService authService) : PageModel
|
||||
|
||||
public TokenPairResponse? TokenPair { get; set; }
|
||||
|
||||
public string RedirectUrl { get; set; } = "/taxbaik/admin/dashboard";
|
||||
public string RedirectUrl { get; set; } = "/admin/dashboard";
|
||||
|
||||
public void OnGet()
|
||||
{
|
||||
@@ -76,14 +76,14 @@ public class LoginModel(AuthService authService) : PageModel
|
||||
private static string NormalizeRedirectUrl(string? returnUrl)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(returnUrl))
|
||||
return "/taxbaik/admin/dashboard";
|
||||
return "/admin/dashboard";
|
||||
|
||||
if (Uri.TryCreate(returnUrl, UriKind.Relative, out var relative))
|
||||
{
|
||||
var value = relative.ToString();
|
||||
if (value.StartsWith('/'))
|
||||
return value.StartsWith("/taxbaik/", StringComparison.OrdinalIgnoreCase) ? value : $"/taxbaik{value}";
|
||||
return $"/taxbaik/{value}";
|
||||
return value; // 절대 경로는 그대로 사용 (/admin/dashboard 등)
|
||||
return $"/{value}"; // 상대 경로는 /로 시작하도록
|
||||
}
|
||||
|
||||
if (Uri.TryCreate(returnUrl, UriKind.Absolute, out var absolute))
|
||||
@@ -91,11 +91,14 @@ public class LoginModel(AuthService authService) : PageModel
|
||||
if (string.Equals(absolute.Host, "www.taxbaik.com", StringComparison.OrdinalIgnoreCase) ||
|
||||
string.Equals(absolute.Host, "taxbaik.com", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
// PathAndQuery에서 /taxbaik 프리픽스 제거 (Nginx가 처리)
|
||||
var path = absolute.PathAndQuery;
|
||||
return path.StartsWith("/taxbaik/", StringComparison.OrdinalIgnoreCase) ? path : $"/taxbaik{path}";
|
||||
return path.StartsWith("/taxbaik/", StringComparison.OrdinalIgnoreCase)
|
||||
? path.Substring("/taxbaik".Length) // "/taxbaik/admin" → "/admin"
|
||||
: path;
|
||||
}
|
||||
}
|
||||
|
||||
return "/taxbaik/admin/dashboard";
|
||||
return "/admin/dashboard";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
@page "/announcement"
|
||||
@{
|
||||
Response.Redirect("/taxbaik/#top");
|
||||
Response.Redirect("/#top");
|
||||
}
|
||||
|
||||
@@ -9,10 +9,10 @@
|
||||
|
||||
<!-- Category Tabs -->
|
||||
<div class="mb-4 d-flex flex-wrap gap-2">
|
||||
<a href="/taxbaik/blog" class="btn btn-sm @(Model.SelectedCategoryId == null ? "btn-primary" : "btn-outline-primary")">전체</a>
|
||||
<a href="/blog" class="btn btn-sm @(Model.SelectedCategoryId == null ? "btn-primary" : "btn-outline-primary")">전체</a>
|
||||
@foreach (var cat in Model.Categories)
|
||||
{
|
||||
<a href="/taxbaik/blog?categoryId=@cat.Id" class="btn btn-sm @(Model.SelectedCategoryId == cat.Id ? "btn-primary" : "btn-outline-primary")">@cat.Name</a>
|
||||
<a href="/blog?categoryId=@cat.Id" class="btn btn-sm @(Model.SelectedCategoryId == cat.Id ? "btn-primary" : "btn-outline-primary")">@cat.Name</a>
|
||||
}
|
||||
</div>
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
<small class="badge bg-primary">@post.CategoryName</small>
|
||||
<h5 class="card-title mt-2">@post.Title</h5>
|
||||
<p class="card-text small">@post.CreatedAt.ToString("yyyy-MM-dd")</p>
|
||||
<a href="/taxbaik/blog/@post.Slug" class="btn btn-sm btn-primary">글 내용 보기</a>
|
||||
<a href="/blog/@post.Slug" class="btn btn-sm btn-primary">글 내용 보기</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -39,19 +39,19 @@
|
||||
@if (Model.CurrentPage > 1)
|
||||
{
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="/taxbaik/blog?page=@(Model.CurrentPage - 1)">이전</a>
|
||||
<a class="page-link" href="/blog?page=@(Model.CurrentPage - 1)">이전</a>
|
||||
</li>
|
||||
}
|
||||
@for (int i = 1; i <= Model.TotalPages; i++)
|
||||
{
|
||||
<li class="page-item @(i == Model.CurrentPage ? "active" : "")">
|
||||
<a class="page-link" href="/taxbaik/blog?page=@i">@i</a>
|
||||
<a class="page-link" href="/blog?page=@i">@i</a>
|
||||
</li>
|
||||
}
|
||||
@if (Model.CurrentPage < Model.TotalPages)
|
||||
{
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="/taxbaik/blog?page=@(Model.CurrentPage + 1)">다음</a>
|
||||
<a class="page-link" href="/blog?page=@(Model.CurrentPage + 1)">다음</a>
|
||||
</li>
|
||||
}
|
||||
</ul>
|
||||
|
||||
@@ -14,14 +14,14 @@
|
||||
<article class="container section" style="max-width: 720px;">
|
||||
<nav aria-label="breadcrumb" class="mb-4">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="/taxbaik">홈</a></li>
|
||||
<li class="breadcrumb-item"><a href="/taxbaik/blog">블로그</a></li>
|
||||
<li class="breadcrumb-item"><a href="/">홈</a></li>
|
||||
<li class="breadcrumb-item"><a href="/blog">블로그</a></li>
|
||||
<li class="breadcrumb-item active">@Model.Post.CategoryName</li>
|
||||
</ol>
|
||||
</nav>
|
||||
|
||||
<div class="mb-4">
|
||||
<a href="/taxbaik/blog" class="btn btn-outline-primary btn-sm">← 블로그 목록으로 돌아가기</a>
|
||||
<a href="/blog" class="btn btn-outline-primary btn-sm">← 블로그 목록으로 돌아가기</a>
|
||||
</div>
|
||||
|
||||
@if (!string.IsNullOrEmpty(Model.Post.ThumbnailUrl))
|
||||
@@ -49,7 +49,7 @@
|
||||
<section class="bg-primary-light p-4 rounded mb-5">
|
||||
<h5 class="fw-bold mb-2 text-primary">상담이 필요하신가요?</h5>
|
||||
<p class="mb-3 text-muted">이 글과 관련된 상담이 필요하면 언제든 연락주세요.</p>
|
||||
<a href="/taxbaik/contact" class="btn btn-primary">📞 상담 신청하기</a>
|
||||
<a href="/contact" class="btn btn-primary">📞 상담 신청하기</a>
|
||||
</section>
|
||||
|
||||
<!-- Share -->
|
||||
@@ -63,7 +63,7 @@ else
|
||||
{
|
||||
<section class="container section text-center">
|
||||
<p class="fs-5">포스트를 찾을 수 없습니다.</p>
|
||||
<a href="/taxbaik/blog" class="btn btn-primary">블로그 돌아가기</a>
|
||||
<a href="/blog" class="btn btn-primary">블로그 돌아가기</a>
|
||||
</section>
|
||||
}
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<div class="container py-5" style="max-width: 600px;">
|
||||
<div class="d-flex align-items-center justify-content-between gap-3 mb-4">
|
||||
<h1 class="fw-bold mb-0">상담 신청</h1>
|
||||
<a href="/taxbaik" class="btn btn-outline-secondary btn-sm"
|
||||
<a href="/" class="btn btn-outline-secondary btn-sm"
|
||||
onclick="if (history.length > 1) { history.back(); return false; }">
|
||||
뒤로가기
|
||||
</a>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
@page "/faq"
|
||||
@{
|
||||
Response.Redirect("/taxbaik/#faq");
|
||||
Response.Redirect("/#faq");
|
||||
}
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
@season.HeroSubtext
|
||||
</p>
|
||||
<div class="d-flex gap-3 flex-wrap">
|
||||
<a href="/taxbaik/contact" class="btn btn-warning btn-lg fw-bold">
|
||||
<a href="/contact" class="btn btn-warning btn-lg fw-bold">
|
||||
⏰ @season.CtaText
|
||||
</a>
|
||||
<a href="https://pf.kakao.com/_xoxchTX" target="_blank" rel="noopener noreferrer"
|
||||
@@ -89,7 +89,7 @@ else
|
||||
통합 솔루션을 제공합니다.
|
||||
</p>
|
||||
<div class="d-flex gap-3 flex-wrap">
|
||||
<a href="/taxbaik/contact" class="btn btn-primary btn-lg">무료 상담 신청</a>
|
||||
<a href="/contact" class="btn btn-primary btn-lg">무료 상담 신청</a>
|
||||
<a href="https://pf.kakao.com/_xoxchTX" target="_blank" rel="noopener noreferrer"
|
||||
class="btn btn-outline-primary btn-lg" onclick="openKakao(event)"
|
||||
style="border-color: white; color: white;">
|
||||
@@ -112,7 +112,7 @@ else
|
||||
<div>
|
||||
<p class="mb-0 small text-muted">세무사의 경력, 자격, 상담 철학을 알아보세요</p>
|
||||
</div>
|
||||
<a href="/taxbaik/about" class="btn btn-sm btn-outline-primary">백원숙 세무사 소개 →</a>
|
||||
<a href="/about" class="btn btn-sm btn-outline-primary">백원숙 세무사 소개 →</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -151,7 +151,7 @@ else
|
||||
<div class="card-body pt-0">
|
||||
<h3 class="card-title">사업자 세무</h3>
|
||||
<p class="text-muted small">월 기장부터 종합소득세, 신규 사업자 세무까지 — 사업 초기부터 체계적인 세무 관리.</p>
|
||||
<a href="/taxbaik/services#business-tax" class="btn btn-sm btn-outline-primary mt-3">자세히 보기</a>
|
||||
<a href="/services#business-tax" class="btn btn-sm btn-outline-primary mt-3">자세히 보기</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -165,7 +165,7 @@ else
|
||||
<div class="card-body pt-0">
|
||||
<h3 class="card-title">부동산 세금</h3>
|
||||
<p class="text-muted small">양도세·취득세·임대소득세 — 부동산 거래 시 세금 부담을 줄이는 전략.</p>
|
||||
<a href="/taxbaik/services#real-estate-tax" class="btn btn-sm btn-outline-primary mt-3">자세히 보기</a>
|
||||
<a href="/services#real-estate-tax" class="btn btn-sm btn-outline-primary mt-3">자세히 보기</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -179,7 +179,7 @@ else
|
||||
<div class="card-body pt-0">
|
||||
<h3 class="card-title">가족자산 관리</h3>
|
||||
<p class="text-muted small">증여상속 사전 계획부터 대표자 리스크 관리까지 - 가족 자산을 지키는 전략.</p>
|
||||
<a href="/taxbaik/services#family-asset" class="btn btn-sm btn-outline-primary mt-3">자세히 보기</a>
|
||||
<a href="/services#family-asset" class="btn btn-sm btn-outline-primary mt-3">자세히 보기</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -229,7 +229,7 @@ else
|
||||
<small class="badge bg-season-badge">@post.CategoryName</small>
|
||||
<h4 class="card-title mt-3">@post.Title</h4>
|
||||
<p class="text-muted small">@((post.PublishedAt ?? post.CreatedAt).ToString("yyyy년 MM월 dd일"))</p>
|
||||
<a href="/taxbaik/blog/@post.Slug" class="btn btn-sm btn-seasonal">읽기</a>
|
||||
<a href="/blog/@post.Slug" class="btn btn-sm btn-seasonal">읽기</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -247,7 +247,7 @@ else
|
||||
<small class="badge bg-primary-badge">@post.CategoryName</small>
|
||||
<h4 class="card-title mt-3">@post.Title</h4>
|
||||
<p class="text-muted small">@((post.PublishedAt ?? post.CreatedAt).ToString("yyyy년 MM월 dd일"))</p>
|
||||
<a href="/taxbaik/blog/@post.Slug" class="btn btn-sm btn-primary">읽기</a>
|
||||
<a href="/blog/@post.Slug" class="btn btn-sm btn-primary">읽기</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -258,11 +258,11 @@ else
|
||||
<div class="text-center mt-5 d-flex justify-content-center gap-3 flex-wrap">
|
||||
@if (season != null && !string.IsNullOrEmpty(season.RelatedCategorySlug))
|
||||
{
|
||||
<a href="/taxbaik/blog?category=@season.RelatedCategorySlug" class="btn btn-outline-secondary btn-lg">
|
||||
<a href="/blog?category=@season.RelatedCategorySlug" class="btn btn-outline-secondary btn-lg">
|
||||
📅 @season.Name 전체 글 보기
|
||||
</a>
|
||||
}
|
||||
<a href="/taxbaik/blog" class="btn btn-outline-primary btn-lg">전체 블로그 보기</a>
|
||||
<a href="/blog" class="btn btn-outline-primary btn-lg">전체 블로그 보기</a>
|
||||
</div>
|
||||
}
|
||||
else
|
||||
@@ -271,7 +271,7 @@ else
|
||||
<div class="mb-3" style="font-size: 3rem;">📝</div>
|
||||
<h3 class="h5 mb-2">현재 표시할 블로그 글이 없습니다.</h3>
|
||||
<p class="text-muted mb-4">최신 세무 정보는 블로그에서 확인할 수 있습니다.</p>
|
||||
<a href="/taxbaik/blog" class="btn btn-outline-primary btn-lg">블로그 바로가기</a>
|
||||
<a href="/blog" class="btn btn-outline-primary btn-lg">블로그 바로가기</a>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
@@ -317,7 +317,7 @@ else
|
||||
|
||||
<div class="text-center mt-5">
|
||||
<p class="text-muted mb-3">상담은 온라인 또는 오프라인으로 진행되며, 완전히 비밀이 보장됩니다.</p>
|
||||
<a href="/taxbaik/contact" class="btn btn-primary btn-lg">상담 신청하기</a>
|
||||
<a href="/contact" class="btn btn-primary btn-lg">상담 신청하기</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -346,7 +346,7 @@ else
|
||||
|
||||
<div class="text-center mt-5">
|
||||
<p class="text-muted mb-3">더 궁금한 점이 있으시면 바로 문의해 주세요</p>
|
||||
<a href="/taxbaik/contact" class="btn btn-primary btn-lg">상담 문의하기</a>
|
||||
<a href="/contact" class="btn btn-primary btn-lg">상담 문의하기</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -363,7 +363,7 @@ else
|
||||
빠른 검토로 불이익 없이 신고를 완료합니다.
|
||||
</p>
|
||||
<div class="d-flex gap-3 justify-content-center flex-wrap">
|
||||
<a href="/taxbaik/contact" class="btn btn-warning btn-lg">⏰ @season.CtaText</a>
|
||||
<a href="/contact" class="btn btn-warning btn-lg">⏰ @season.CtaText</a>
|
||||
<a href="https://pf.kakao.com/_xoxchTX" target="_blank" rel="noopener noreferrer" class="btn btn-light btn-lg">카카오채널로 문의</a>
|
||||
</div>
|
||||
}
|
||||
@@ -375,7 +375,7 @@ else
|
||||
맞춤형 절세 전략을 받아보세요.
|
||||
</p>
|
||||
<div class="d-flex gap-3 justify-content-center flex-wrap">
|
||||
<a href="/taxbaik/contact" class="btn btn-warning btn-lg">상담 신청하기</a>
|
||||
<a href="/contact" class="btn btn-warning btn-lg">상담 신청하기</a>
|
||||
<a href="https://pf.kakao.com/_xoxchTX" target="_blank" rel="noopener noreferrer" class="btn btn-light btn-lg">카카오채널로 문의</a>
|
||||
</div>
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
@page "/inquiry"
|
||||
@{
|
||||
Response.Redirect("/taxbaik/contact");
|
||||
Response.Redirect("/contact");
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
}
|
||||
</div>
|
||||
<div class="mt-3 mt-sm-0">
|
||||
<form method="post" action="/taxbaik/portal/logout" class="d-inline">
|
||||
<form method="post" action="/portal/logout" class="d-inline">
|
||||
@Html.AntiForgeryToken()
|
||||
<button type="submit" class="btn btn-outline-danger btn-sm">
|
||||
<i class="bi bi-box-arrow-right"></i> 로그아웃
|
||||
@@ -43,7 +43,7 @@
|
||||
가입하신 계정 정보(이메일/연락처)와 일치하는 세무 대리 고객 레코드를 찾지 못했습니다.<br />
|
||||
세무사 측에서 고객 등록을 완료하거나 관리자 백오피스에서 이메일/전화번호가 일치하도록 지정하면 자동으로 포털 데이터가 활성화됩니다.
|
||||
</p>
|
||||
<a href="/taxbaik/contact" class="btn btn-primary px-4 py-2">
|
||||
<a href="/contact" class="btn btn-primary px-4 py-2">
|
||||
<i class="bi bi-chat-dots"></i> 세무사에게 문의하기
|
||||
</a>
|
||||
</div>
|
||||
|
||||
@@ -72,6 +72,6 @@
|
||||
<p>이 개인정보처리방침은 2026년 6월 27일부터 적용되며, 변경 시 홈페이지 공지를 통해 안내합니다.</p>
|
||||
|
||||
<div class="mt-5">
|
||||
<a href="/taxbaik" class="btn btn-outline-primary">홈으로 돌아가기</a>
|
||||
<a href="/" class="btn btn-outline-primary">홈으로 돌아가기</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<nav aria-label="breadcrumb" class="py-3" style="background: #F9F7F3; border-bottom: 1px solid #D9D3C4;">
|
||||
<div class="container">
|
||||
<ol class="breadcrumb mb-0">
|
||||
<li class="breadcrumb-item"><a href="/taxbaik/" class="text-decoration-none">홈</a></li>
|
||||
<li class="breadcrumb-item"><a href="/" class="text-decoration-none">홈</a></li>
|
||||
<li class="breadcrumb-item active">서비스</li>
|
||||
</ol>
|
||||
</div>
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
<div class="container py-5">
|
||||
<div class="mb-4">
|
||||
<a href="/taxbaik/" class="btn btn-sm btn-outline-secondary">← 홈으로 돌아가기</a>
|
||||
<a href="/" class="btn btn-sm btn-outline-secondary">← 홈으로 돌아가기</a>
|
||||
</div>
|
||||
<h1 class="fw-bold mb-5 text-center">주요 서비스</h1>
|
||||
|
||||
@@ -141,7 +141,7 @@
|
||||
<div class="text-center">
|
||||
<h2 class="fw-bold mb-3">전문 상담받으세요</h2>
|
||||
<p class="lead mb-4">정확한 진단 후 맞춤형 솔루션을 제시합니다</p>
|
||||
<a href="/taxbaik/contact" class="btn btn-warning btn-lg">무료 상담 신청</a>
|
||||
<a href="/contact" class="btn btn-warning btn-lg">무료 상담 신청</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -150,19 +150,19 @@
|
||||
<h4 class="fw-bold mb-4">다른 페이지 보기</h4>
|
||||
<div class="row g-3 justify-content-center">
|
||||
<div class="col-md-4">
|
||||
<a href="/taxbaik/" class="btn btn-outline-primary btn-sm w-100 py-3">
|
||||
<a href="/" class="btn btn-outline-primary btn-sm w-100 py-3">
|
||||
🏠 홈<br/>
|
||||
<small class="text-muted">최신 정보 및 블로그</small>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<a href="/taxbaik/about" class="btn btn-outline-primary btn-sm w-100 py-3">
|
||||
<a href="/about" class="btn btn-outline-primary btn-sm w-100 py-3">
|
||||
👤 세무사 소개<br/>
|
||||
<small class="text-muted">자격 및 상담 철학</small>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<a href="/taxbaik/blog" class="btn btn-outline-primary btn-sm w-100 py-3">
|
||||
<a href="/blog" class="btn btn-outline-primary btn-sm w-100 py-3">
|
||||
📝 세무 정보<br/>
|
||||
<small class="text-muted">절세팁 및 신고 가이드</small>
|
||||
</a>
|
||||
|
||||
@@ -26,8 +26,8 @@
|
||||
<hr class="my-3" />
|
||||
<div class="text-center small text-muted">
|
||||
<p>© 2026 백원숙 세무회계. All rights reserved.</p>
|
||||
<a href="/taxbaik/privacy" class="text-decoration-none text-muted me-2">개인정보처리방침</a>
|
||||
<a href="/taxbaik/terms" class="text-decoration-none text-muted">이용약관</a>
|
||||
<a href="/privacy" class="text-decoration-none text-muted me-2">개인정보처리방침</a>
|
||||
<a href="/terms" class="text-decoration-none text-muted">이용약관</a>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<header class="sticky-top bg-white border-bottom site-header">
|
||||
<nav class="navbar navbar-expand-lg navbar-light container-fluid px-3 py-2">
|
||||
<a class="navbar-brand fw-bold" href="/taxbaik">
|
||||
<a class="navbar-brand fw-bold" href="/">
|
||||
<span class="text-primary">백원숙</span> 세무회계
|
||||
</a>
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
|
||||
@@ -9,19 +9,19 @@
|
||||
<div class="collapse navbar-collapse mt-3 mt-lg-0" id="navbarNav">
|
||||
<ul class="navbar-nav ms-auto gap-2 align-items-lg-center">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/taxbaik">홈</a>
|
||||
<a class="nav-link" href="/">홈</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/taxbaik/about">소개</a>
|
||||
<a class="nav-link" href="/about">소개</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/taxbaik/services">서비스</a>
|
||||
<a class="nav-link" href="/services">서비스</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/taxbaik/blog">블로그</a>
|
||||
<a class="nav-link" href="/blog">블로그</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="btn btn-primary btn-sm ms-lg-2 w-100 w-lg-auto" href="/taxbaik/contact">상담신청</a>
|
||||
<a class="btn btn-primary btn-sm ms-lg-2 w-100 w-lg-auto" href="/contact">상담신청</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -51,6 +51,6 @@
|
||||
<p>이 약관에 관한 분쟁은 대한민국 법령을 적용하며, 관할 법원은 민사소송법에 따른 관할 법원으로 합니다.</p>
|
||||
|
||||
<div class="mt-5">
|
||||
<a href="/taxbaik" class="btn btn-outline-primary">홈으로 돌아가기</a>
|
||||
<a href="/" class="btn btn-outline-primary">홈으로 돌아가기</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -26,12 +26,12 @@
|
||||
|
||||
<meta name="robots" content="index, follow" />
|
||||
<meta name="theme-color" content="#C89D6E" />
|
||||
<link rel="icon" type="image/svg+xml" href="/taxbaik/favicon.svg" />
|
||||
<link rel="alternate icon" href="/taxbaik/favicon.ico" />
|
||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
||||
<link rel="alternate icon" href="/favicon.ico" />
|
||||
|
||||
<!-- RSS Feed -->
|
||||
<link rel="alternate" type="application/rss+xml" title="백원숙 세무회계 블로그" href="/taxbaik/rss.xml" />
|
||||
<link rel="alternate" type="application/rss+xml" title="TaxBaik Blog Feed" href="/taxbaik/feed.xml" />
|
||||
<link rel="alternate" type="application/rss+xml" title="백원숙 세무회계 블로그" href="/rss.xml" />
|
||||
<link rel="alternate" type="application/rss+xml" title="TaxBaik Blog Feed" href="/feed.xml" />
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
||||
<link rel="dns-prefetch" href="https://cdn.jsdelivr.net" />
|
||||
@@ -89,11 +89,11 @@
|
||||
<div class="col-md-3">
|
||||
<h6 class="fw-bold mb-3">메뉴</h6>
|
||||
<ul class="list-unstyled small">
|
||||
<li class="mb-2"><a href="/taxbaik/" class="text-decoration-none text-muted">홈</a></li>
|
||||
<li class="mb-2"><a href="/taxbaik/about" class="text-decoration-none text-muted">세무사 소개</a></li>
|
||||
<li class="mb-2"><a href="/taxbaik/services" class="text-decoration-none text-muted">전문 서비스</a></li>
|
||||
<li class="mb-2"><a href="/taxbaik/blog" class="text-decoration-none text-muted">세무 정보</a></li>
|
||||
<li><a href="/taxbaik/contact" class="text-decoration-none text-muted">상담 신청</a></li>
|
||||
<li class="mb-2"><a href="/" class="text-decoration-none text-muted">홈</a></li>
|
||||
<li class="mb-2"><a href="/about" class="text-decoration-none text-muted">세무사 소개</a></li>
|
||||
<li class="mb-2"><a href="/services" class="text-decoration-none text-muted">전문 서비스</a></li>
|
||||
<li class="mb-2"><a href="/blog" class="text-decoration-none text-muted">세무 정보</a></li>
|
||||
<li><a href="/contact" class="text-decoration-none text-muted">상담 신청</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
@@ -115,9 +115,9 @@
|
||||
<div class="text-center small text-muted">
|
||||
<p>© 2026 백원숙 세무회계. All rights reserved.</p>
|
||||
<div class="mb-2">
|
||||
<a href="/taxbaik/privacy" class="text-decoration-none text-muted me-2">개인정보처리방침</a>
|
||||
<a href="/privacy" class="text-decoration-none text-muted me-2">개인정보처리방침</a>
|
||||
<span class="text-muted">|</span>
|
||||
<a href="/taxbaik/terms" class="text-decoration-none text-muted ms-2 me-2">이용약관</a>
|
||||
<a href="/terms" class="text-decoration-none text-muted ms-2 me-2">이용약관</a>
|
||||
<span class="text-muted">|</span>
|
||||
</div>
|
||||
@if (Context.RequestServices.GetService(typeof(VersionInfo)) is VersionInfo version)
|
||||
|
||||
@@ -427,7 +427,8 @@ catch (Exception ex)
|
||||
Console.WriteLine($"Migration warning (development only): {ex.Message}");
|
||||
}
|
||||
|
||||
app.UsePathBase("/taxbaik");
|
||||
// PathBase는 Nginx reverse proxy에서 처리 (절대 경로 제거)
|
||||
// app.UsePathBase("/taxbaik"); ← 상대 경로로 전환됨
|
||||
|
||||
// 개발 및 테스트 환경에서 resource-collection.js 404로 인해 Blazor WASM이 크래시되는 현상 방지
|
||||
app.Use(async (context, next) =>
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+4198
File diff suppressed because one or more lines are too long
@@ -4,7 +4,7 @@ import { getAdminToken, installAdminToken, navigateInBlazor, waitForAdminSection
|
||||
|
||||
const username = process.env.E2E_ADMIN_USERNAME ?? 'admin';
|
||||
const password = process.env.E2E_ADMIN_PASSWORD;
|
||||
const baseUrl = (process.env.E2E_BASE_URL ?? 'https://www.taxbaik.com/taxbaik').replace(/\/$/, '');
|
||||
const baseUrl = (process.env.E2E_BASE_URL ?? 'https://www.taxbaik.com').replace(/\/$/, '');
|
||||
|
||||
test.describe('admin CRM pages', () => {
|
||||
test.describe.configure({ mode: 'serial' });
|
||||
|
||||
@@ -2,7 +2,7 @@ import { expect, test } from '@playwright/test';
|
||||
|
||||
const username = process.env.E2E_ADMIN_USERNAME ?? 'admin';
|
||||
const password = process.env.E2E_ADMIN_PASSWORD;
|
||||
const baseUrl = (process.env.E2E_BASE_URL ?? 'https://www.taxbaik.com/taxbaik').replace(/\/$/, '');
|
||||
const baseUrl = (process.env.E2E_BASE_URL ?? 'https://www.taxbaik.com').replace(/\/$/, '');
|
||||
|
||||
test.describe('admin authentication', () => {
|
||||
test('logs in through the real browser UI and reaches dashboard', async ({ page }) => {
|
||||
|
||||
@@ -2,7 +2,7 @@ import { expect, test } from '@playwright/test';
|
||||
import { navigateInBlazor } from './helpers/admin-auth';
|
||||
import { captureEvidence } from './helpers/evidence';
|
||||
|
||||
const baseUrl = process.env.E2E_BASE_URL || 'https://www.taxbaik.com/taxbaik';
|
||||
const baseUrl = process.env.E2E_BASE_URL || 'https://www.taxbaik.com';
|
||||
const username = process.env.E2E_ADMIN_USERNAME || 'admin';
|
||||
const password = process.env.E2E_ADMIN_PASSWORD || 'Admin123!@#456';
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import { getAdminToken, installAdminToken } from './helpers/admin-auth';
|
||||
const username = process.env.E2E_ADMIN_USERNAME ?? 'admin';
|
||||
const currentPassword = process.env.E2E_ADMIN_CURRENT_PASSWORD;
|
||||
const newPassword = process.env.E2E_ADMIN_NEW_PASSWORD;
|
||||
const baseUrl = (process.env.E2E_BASE_URL ?? 'https://www.taxbaik.com/taxbaik').replace(/\/$/, '');
|
||||
const baseUrl = (process.env.E2E_BASE_URL ?? 'https://www.taxbaik.com').replace(/\/$/, '');
|
||||
|
||||
test.describe('admin password change', () => {
|
||||
test('changes password through the real admin UI', async ({ page, request }) => {
|
||||
|
||||
@@ -4,7 +4,7 @@ import { loginThroughAdminUi } from './helpers/admin-auth';
|
||||
// 테스트 계정 (실 admin 계정과 분리)
|
||||
const TEST_USERNAME = process.env.E2E_ADMIN_USERNAME || 'admin';
|
||||
const TEST_PASSWORD = process.env.E2E_ADMIN_PASSWORD || 'Admin123!@#456';
|
||||
const baseUrl = (process.env.E2E_BASE_URL ?? 'https://www.taxbaik.com/taxbaik').replace(/\/$/, '');
|
||||
const baseUrl = (process.env.E2E_BASE_URL ?? 'https://www.taxbaik.com').replace(/\/$/, '');
|
||||
|
||||
test.describe('admin responsive design (admin account)', () => {
|
||||
const deviceTests = [
|
||||
|
||||
@@ -4,7 +4,7 @@ import { captureEvidence } from './helpers/evidence';
|
||||
|
||||
const username = process.env.E2E_ADMIN_USERNAME ?? 'admin';
|
||||
const password = process.env.E2E_ADMIN_PASSWORD;
|
||||
const baseUrl = (process.env.E2E_BASE_URL ?? 'https://www.taxbaik.com/taxbaik').replace(/\/$/, '');
|
||||
const baseUrl = (process.env.E2E_BASE_URL ?? 'https://www.taxbaik.com').replace(/\/$/, '');
|
||||
|
||||
test.describe('admin smoke', () => {
|
||||
test('@smoke logs in and lands on dashboard without circuit errors', async ({ page }) => {
|
||||
@@ -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 });
|
||||
|
||||
@@ -3,7 +3,7 @@ import { loginThroughAdminUi } from './helpers/admin-auth';
|
||||
|
||||
const username = process.env.E2E_ADMIN_USERNAME ?? 'admin';
|
||||
const password = process.env.E2E_ADMIN_PASSWORD || 'Admin123!@#456';
|
||||
const baseUrl = (process.env.E2E_BASE_URL ?? 'https://www.taxbaik.com/taxbaik').replace(/\/$/, '');
|
||||
const baseUrl = (process.env.E2E_BASE_URL ?? 'https://www.taxbaik.com').replace(/\/$/, '');
|
||||
|
||||
test.describe('blog CRUD operations', () => {
|
||||
test('complete blog creation, read, update, delete flow', async ({ page }) => {
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import { expect, test } from '@playwright/test';
|
||||
|
||||
const baseUrl = (process.env.E2E_BASE_URL ?? 'https://www.taxbaik.com/taxbaik').replace(/\/$/, '');
|
||||
const baseUrl = (process.env.E2E_BASE_URL ?? 'https://www.taxbaik.com').replace(/\/$/, '');
|
||||
|
||||
test.describe('blog seo', () => {
|
||||
test('exposes title description and canonical on blog detail pages', async ({ page }) => {
|
||||
await page.goto(`${baseUrl}/blog`);
|
||||
const firstPost = page.locator('a[href^="/taxbaik/blog/"]').filter({ hasText: '글 내용 보기' }).first();
|
||||
const firstPost = page.locator('a[href^="/blog/"]').filter({ hasText: '글 내용 보기' }).first();
|
||||
await expect(firstPost).toBeVisible();
|
||||
const detailHref = await firstPost.getAttribute('href');
|
||||
expect(detailHref).toMatch(/^\/taxbaik\/blog\/[a-z0-9-]+$/);
|
||||
|
||||
@@ -2,7 +2,7 @@ import { expect, test } from '@playwright/test';
|
||||
import { loginThroughAdminUi } from './helpers/admin-auth';
|
||||
import { captureEvidence } from './helpers/evidence';
|
||||
|
||||
const baseUrl = (process.env.E2E_BASE_URL ?? 'https://www.taxbaik.com/taxbaik').replace(/\/$/, '');
|
||||
const baseUrl = (process.env.E2E_BASE_URL ?? 'https://www.taxbaik.com').replace(/\/$/, '');
|
||||
const username = 'admin';
|
||||
const password = 'Admin123!@#456';
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ import { findInquiryByName, getAdminToken, loginThroughAdminUi, navigateInBlazor
|
||||
|
||||
const username = process.env.E2E_ADMIN_USERNAME ?? 'admin';
|
||||
const password = process.env.E2E_ADMIN_PASSWORD;
|
||||
const baseUrl = (process.env.E2E_BASE_URL ?? 'https://www.taxbaik.com/taxbaik').replace(/\/$/, '');
|
||||
const baseUrl = (process.env.E2E_BASE_URL ?? 'https://www.taxbaik.com').replace(/\/$/, '');
|
||||
|
||||
test.describe('contact submit', () => {
|
||||
test('creates an inquiry through the public API', async ({ request }) => {
|
||||
|
||||
@@ -2,7 +2,7 @@ import { expect, test } from '@playwright/test';
|
||||
import { loginThroughAdminUi } from './helpers/admin-auth';
|
||||
|
||||
test('check dashboard metrics', async ({ page }) => {
|
||||
const baseUrl = (process.env.E2E_BASE_URL || 'https://www.taxbaik.com/taxbaik').replace(/\/$/, '');
|
||||
const baseUrl = (process.env.E2E_BASE_URL || 'https://www.taxbaik.com').replace(/\/$/, '');
|
||||
const username = process.env.E2E_ADMIN_USERNAME || 'admin';
|
||||
const password = process.env.E2E_ADMIN_PASSWORD || 'Admin123!@#456';
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ import { loginThroughAdminUi, navigateInBlazor } from './helpers/admin-auth';
|
||||
import { captureEvidence } from './helpers/evidence';
|
||||
|
||||
test('production: verify all admin pages load correctly', async ({ page }) => {
|
||||
const baseUrl = (process.env.E2E_BASE_URL || 'https://www.taxbaik.com/taxbaik').replace(/\/$/, '');
|
||||
const baseUrl = (process.env.E2E_BASE_URL || 'https://www.taxbaik.com').replace(/\/$/, '');
|
||||
|
||||
// Login
|
||||
console.log('🔐 Logging in...');
|
||||
|
||||
@@ -4,7 +4,7 @@ import { captureEvidence } from './helpers/evidence';
|
||||
|
||||
test.describe('프로덕션 사용자 흐름 테스트', () => {
|
||||
test('홈페이지 → 로그인 → 대시보드 → 블로그 CRUD', async ({ page }) => {
|
||||
const baseUrl = process.env.E2E_BASE_URL || 'https://www.taxbaik.com/taxbaik';
|
||||
const baseUrl = process.env.E2E_BASE_URL || 'https://www.taxbaik.com';
|
||||
const username = process.env.E2E_ADMIN_USERNAME || 'admin';
|
||||
const password = process.env.E2E_ADMIN_PASSWORD || 'Admin123!@#456';
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ import { findInquiryByName, getAdminToken, loginThroughAdminUi, navigateInBlazor
|
||||
|
||||
const username = process.env.E2E_ADMIN_USERNAME ?? 'admin';
|
||||
const password = process.env.E2E_ADMIN_PASSWORD || 'Admin123!@#456';
|
||||
const baseUrl = (process.env.E2E_BASE_URL ?? 'https://www.taxbaik.com/taxbaik').replace(/\/$/, '');
|
||||
const baseUrl = (process.env.E2E_BASE_URL ?? 'https://www.taxbaik.com').replace(/\/$/, '');
|
||||
|
||||
test.describe('inquiry detail', () => {
|
||||
test('shows the created inquiry and admin action links', async ({ page, request }) => {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { expect, test } from '@playwright/test';
|
||||
import { captureEvidence } from './helpers/evidence';
|
||||
|
||||
const baseUrl = (process.env.E2E_BASE_URL ?? 'https://www.taxbaik.com/taxbaik').replace(/\/$/, '');
|
||||
const baseUrl = (process.env.E2E_BASE_URL ?? 'https://www.taxbaik.com').replace(/\/$/, '');
|
||||
const username = 'admin';
|
||||
const password = 'Admin123!@#456';
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { expect, test } from '@playwright/test';
|
||||
import { captureEvidence } from './helpers/evidence';
|
||||
|
||||
const baseUrl = (process.env.E2E_BASE_URL ?? 'https://www.taxbaik.com/taxbaik').replace(/\/$/, '');
|
||||
const baseUrl = (process.env.E2E_BASE_URL ?? 'https://www.taxbaik.com').replace(/\/$/, '');
|
||||
|
||||
test.describe('public smoke', () => {
|
||||
test('@smoke loads the home page and key public pages with SEO basics', async ({ page }) => {
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
import { expect, test } from '@playwright/test';
|
||||
|
||||
test.describe('quick smoke test', () => {
|
||||
test('login and verify dashboard', async ({ page }) => {
|
||||
// 1. 로그인 페이지 방문
|
||||
const baseUrl = process.env.E2E_BASE_URL || 'http://localhost:5001';
|
||||
await page.goto(`${baseUrl}/admin/login`, { waitUntil: 'domcontentloaded' });
|
||||
console.log('✓ 로그인 페이지 로드');
|
||||
|
||||
// 2. 로그인 폼 채우기 (대소문자 유의: Username, Password)
|
||||
await page.fill('#Username', process.env.E2E_ADMIN_USERNAME || 'admin');
|
||||
await page.fill('#Password', process.env.E2E_ADMIN_PASSWORD || 'Admin@123456');
|
||||
console.log('✓ 로그인 폼 채우기 완료');
|
||||
|
||||
// 3. 로그인 버튼 클릭
|
||||
await page.click('button[type="submit"]');
|
||||
console.log('✓ 로그인 버튼 클릭');
|
||||
|
||||
// 4. 대시보드 도착 확인 (20초 대기)
|
||||
await page.waitForURL(/\/admin\/dashboard$/, { timeout: 20000 });
|
||||
console.log('✓ 대시보드 도착');
|
||||
});
|
||||
});
|
||||
@@ -1,6 +1,6 @@
|
||||
import { expect, test } from '@playwright/test';
|
||||
|
||||
const baseUrl = (process.env.E2E_BASE_URL ?? 'https://www.taxbaik.com/taxbaik').replace(/\/$/, '');
|
||||
const baseUrl = (process.env.E2E_BASE_URL ?? 'https://www.taxbaik.com').replace(/\/$/, '');
|
||||
|
||||
test.describe('route isolation', () => {
|
||||
test('public home does not boot the admin app', async ({ page }) => {
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 114 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 91 KiB |
Reference in New Issue
Block a user