feat: implement ERP-style split pane master-detail layout for tax profiles, schedules, and contracts backoffice pages
TaxBaik CI/CD / build-and-deploy (push) Successful in 1m31s
TaxBaik CI/CD / build-and-deploy (push) Successful in 1m31s
This commit is contained in:
@@ -90,14 +90,13 @@ test.describe('admin CRM pages', () => {
|
||||
}
|
||||
});
|
||||
|
||||
test('TaxProfiles modal dialog opens on add button click', async ({ page }) => {
|
||||
test('TaxProfiles editor panel is visible on add button click', async ({ page }) => {
|
||||
await navigateInBlazor(page, `${baseUrl}/admin/tax-profiles`);
|
||||
|
||||
const addButton = page.getByRole('button', { name: /새 프로필 추가/ });
|
||||
await expect(addButton).toBeVisible();
|
||||
await addButton.click();
|
||||
await expect(page).toHaveURL(/\/taxbaik\/admin\/tax-profiles$/);
|
||||
await expect(addButton).toBeVisible();
|
||||
await expect(page.locator('.admin-editor-panel')).toBeVisible({ timeout: 5000 });
|
||||
});
|
||||
|
||||
test('No console errors on CRM page navigation', async ({ page }) => {
|
||||
@@ -131,11 +130,11 @@ test.describe('admin CRM pages', () => {
|
||||
const addButton = page.getByRole('button', { name: /새 프로필 추가/ });
|
||||
await addButton.click();
|
||||
|
||||
// 대화상자(MudDialog) 자체의 노출 대기
|
||||
await expect(page.locator('.mud-dialog')).toBeVisible({ timeout: 5000 });
|
||||
// 분할 편집기(admin-editor-panel) 노출 대기
|
||||
await expect(page.locator('.admin-editor-panel')).toBeVisible({ timeout: 5000 });
|
||||
|
||||
// mud-select 내의 input 클릭 (이벤트 핸들러 격발 유도)
|
||||
const select = page.locator('.mud-dialog .mud-select').filter({ hasText: '사업 유형' }).first();
|
||||
const select = page.locator('.admin-editor-panel .mud-select').filter({ hasText: '사업 유형' }).first();
|
||||
await page.waitForTimeout(500);
|
||||
await select.locator('input').click();
|
||||
|
||||
@@ -153,9 +152,9 @@ test.describe('admin CRM pages', () => {
|
||||
const addButton = page.getByRole('button', { name: /새 일정 추가/ });
|
||||
await addButton.click();
|
||||
|
||||
await expect(page.locator('.mud-dialog')).toBeVisible({ timeout: 5000 });
|
||||
await expect(page.locator('.admin-editor-panel')).toBeVisible({ timeout: 5000 });
|
||||
|
||||
const select = page.locator('.mud-dialog .mud-select').filter({ hasText: '신고 유형' }).first();
|
||||
const select = page.locator('.admin-editor-panel .mud-select').filter({ hasText: '신고 유형' }).first();
|
||||
await page.waitForTimeout(500);
|
||||
await select.locator('input').click();
|
||||
|
||||
@@ -171,9 +170,9 @@ test.describe('admin CRM pages', () => {
|
||||
const addButton = page.getByRole('button', { name: /새 계약 추가/ });
|
||||
await addButton.click();
|
||||
|
||||
await expect(page.locator('.mud-dialog')).toBeVisible({ timeout: 5000 });
|
||||
await expect(page.locator('.admin-editor-panel')).toBeVisible({ timeout: 5000 });
|
||||
|
||||
const select = page.locator('.mud-dialog .mud-select').filter({ hasText: '서비스 유형' }).first();
|
||||
const select = page.locator('.admin-editor-panel .mud-select').filter({ hasText: '서비스 유형' }).first();
|
||||
await page.waitForTimeout(500);
|
||||
await select.locator('input').click();
|
||||
|
||||
@@ -181,4 +180,5 @@ test.describe('admin CRM pages', () => {
|
||||
await expect(popover.getByText('개인 기장대리')).toBeVisible({ timeout: 5000 });
|
||||
await expect(popover.getByText('법인 기장대리')).toBeVisible({ timeout: 5000 });
|
||||
});
|
||||
});
|
||||
}
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user