From 6bcb9effa8a36f162a8ce05155250338450d6a71 Mon Sep 17 00:00:00 2001 From: kjh2064 Date: Mon, 29 Jun 2026 16:30:31 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20E2E=20=EC=BD=A4=EB=B3=B4=EB=B0=95?= =?UTF-8?q?=EC=8A=A4=20=EA=B2=80=EC=A6=9D=20=ED=85=8C=EC=8A=A4=ED=8A=B8?= =?UTF-8?q?=EA=B0=80=20mud-popover-open=20=EB=B0=8F=20getByLabel=EC=9D=84?= =?UTF-8?q?=20=EC=82=AC=EC=9A=A9=ED=95=98=EC=97=AC=20=EC=95=88=EC=A0=95?= =?UTF-8?q?=EC=A0=81(Robust)=EC=9C=BC=EB=A1=9C=20=EB=8F=99=EC=9E=91?= =?UTF-8?q?=ED=95=98=EB=8F=84=EB=A1=9D=20=EC=A0=84=EB=A9=B4=20=EB=A6=AC?= =?UTF-8?q?=ED=8C=A9=ED=86=A0=EB=A7=81=ED=95=98=EC=97=AC=20CI=20=EC=8B=A4?= =?UTF-8?q?=ED=8C=A8=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/e2e/admin-crm-pages.spec.ts | 40 ++++++++++++------------------- 1 file changed, 15 insertions(+), 25 deletions(-) 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 }); }); });