feat: 매뉴얼 검색·소메뉴 아이콘 개선·워크스페이스 탭 세션 유지
- 매뉴얼: 전체 검색 박스(slug별 hit 카운트·스니펫)와 본문 하이라이트 추가 - ManualRenderer::plainText()/search(), Bag::manualSearch(), bag/manual/search 라우트 - 사이드바 소메뉴 선택 아이콘 변경: 닫기처럼 보이던 × → ▸, + → · (정적/동적 일관) - 워크스페이스: 탭 목록을 sessionStorage에 저장·복원 - 관리자 페이지 이동 후 복귀·새로고침해도 열어둔 탭 유지(세션 범위) - 복원으로 무의미해진 beforeunload 새로고침 경고 제거 - e2e: 관리자 이동 후 탭 복원 케이스 추가 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -39,4 +39,31 @@ test.describe('워크스페이스 탭', () => {
|
||||
await page.waitForTimeout(300);
|
||||
await expect(page.locator('.ws-tab')).toHaveCount(1);
|
||||
});
|
||||
|
||||
test('관리자 페이지로 이동 후 복귀해도 열어둔 탭 유지', async ({ page }) => {
|
||||
await login(page, 'admin');
|
||||
await page.goto('/admin/select-local-government');
|
||||
await page.evaluate(() => {
|
||||
const r = document.querySelector('input[name="lg_idx"][value="1"]');
|
||||
if (r) { r.checked = true; r.form.submit(); }
|
||||
});
|
||||
await page.waitForTimeout(700);
|
||||
|
||||
await page.goto('/workspace');
|
||||
await page.waitForTimeout(2500);
|
||||
|
||||
// 소메뉴를 탭으로 추가 → 탭 2개
|
||||
await page.locator('.sidebar .my-menu-list a').first().click();
|
||||
await page.waitForTimeout(1500);
|
||||
await expect(page.locator('.ws-tab')).toHaveCount(2);
|
||||
|
||||
// 관리자 페이지로 전체 이동(워크스페이스를 떠남)
|
||||
await page.goto('/admin');
|
||||
await page.waitForTimeout(800);
|
||||
|
||||
// 다시 워크스페이스로 복귀 → 세션에서 탭 복원
|
||||
await page.goto('/workspace');
|
||||
await page.waitForTimeout(2500);
|
||||
await expect(page.locator('.ws-tab')).toHaveCount(2);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user