diff --git a/tests/e2e/admin-crm-pages.spec.ts b/tests/e2e/admin-crm-pages.spec.ts index e53f749..97b5311 100644 --- a/tests/e2e/admin-crm-pages.spec.ts +++ b/tests/e2e/admin-crm-pages.spec.ts @@ -127,16 +127,14 @@ test.describe('admin CRM pages', () => { const addButton = page.getByRole('button', { name: /새 프로필 추가/ }); await addButton.click(); - // 사업 유형 선택 콤보박스 클릭 - const select = page.locator('.mud-select').filter({ hasText: '사업 유형' }).first(); - await expect(select).toBeVisible(); - await select.click(); + // Label을 매개로 인풋 영역 클릭 + await page.getByLabel('사업 유형').first().click(); - // 팝업 레이어의 선택지 데이터 존재 유무 검증 - const listItems = page.locator('.mud-list-item'); - await expect(listItems.getByText('일반제조업')).toBeVisible(); - await expect(listItems.getByText('도소매업')).toBeVisible(); - await expect(listItems.getByText('서비스업')).toBeVisible(); + // 활성화된 팝오버(.mud-popover-open) 내에서 텍스트 노출 검증 + const popover = page.locator('.mud-popover-open'); + await expect(popover.getByText('일반제조업')).toBeVisible({ timeout: 5000 }); + await expect(popover.getByText('도소매업')).toBeVisible({ timeout: 5000 }); + await expect(popover.getByText('서비스업')).toBeVisible({ timeout: 5000 }); }); test('TaxFilingSchedules form displays filing type combo choices', async ({ page }) => { @@ -144,15 +142,11 @@ test.describe('admin CRM pages', () => { const addButton = page.getByRole('button', { name: /새 일정 추가/ }); await addButton.click(); - // 신고 유형 선택 콤보박스 클릭 - const select = page.locator('.mud-select').filter({ hasText: '신고 유형' }).first(); - await expect(select).toBeVisible(); - await select.click(); + await page.getByLabel('신고 유형').first().click(); - // 선택지 데이터 존재 검증 - const listItems = page.locator('.mud-list-item'); - await expect(listItems.getByText('종합소득세')).toBeVisible(); - await expect(listItems.getByText('부가가치세')).toBeVisible(); + const popover = page.locator('.mud-popover-open'); + await expect(popover.getByText('종합소득세')).toBeVisible({ timeout: 5000 }); + await expect(popover.getByText('부가가치세')).toBeVisible({ timeout: 5000 }); }); test('Contracts form displays service type combo choices', async ({ page }) => { @@ -160,14 +154,10 @@ test.describe('admin CRM pages', () => { const addButton = page.getByRole('button', { name: /새 계약 추가/ }); await addButton.click(); - // 서비스 유형 선택 콤보박스 클릭 - const select = page.locator('.mud-select').filter({ hasText: '서비스 유형' }).first(); - await expect(select).toBeVisible(); - await select.click(); + await page.getByLabel('서비스 유형').first().click(); - // 선택지 데이터 존재 검증 - const listItems = page.locator('.mud-list-item'); - await expect(listItems.getByText('개인 기장대리')).toBeVisible(); - await expect(listItems.getByText('법인 기장대리')).toBeVisible(); + const popover = page.locator('.mud-popover-open'); + await expect(popover.getByText('개인 기장대리')).toBeVisible({ timeout: 5000 }); + await expect(popover.getByText('법인 기장대리')).toBeVisible({ timeout: 5000 }); }); });