Compare commits
2 Commits
16f7c6097c
...
61083a5bb1
| Author | SHA1 | Date | |
|---|---|---|---|
| 61083a5bb1 | |||
| 66fb86d23c |
@@ -26,10 +26,10 @@
|
|||||||
}
|
}
|
||||||
else if (activities.Count == 0)
|
else if (activities.Count == 0)
|
||||||
{
|
{
|
||||||
<div class="pa-6 text-center">
|
<MudAlert Severity="Severity.Info" Class="mt-4">
|
||||||
<MudIcon Icon="@Icons.Material.Filled.Timeline" Style="font-size:3rem; opacity:.3;" />
|
<MudIcon Icon="@Icons.Material.Filled.Timeline" Class="me-2" />
|
||||||
<MudText Class="mt-2 text-muted">상담 활동이 없습니다.</MudText>
|
상담 활동이 없습니다.
|
||||||
</div>
|
</MudAlert>
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -33,10 +33,10 @@
|
|||||||
}
|
}
|
||||||
else if (contracts.Count == 0)
|
else if (contracts.Count == 0)
|
||||||
{
|
{
|
||||||
<div class="pa-6 text-center">
|
<MudAlert Severity="Severity.Info" Class="mt-4">
|
||||||
<MudIcon Icon="@Icons.Material.Filled.Description" Style="font-size:3rem; opacity:.3;" />
|
<MudIcon Icon="@Icons.Material.Filled.Description" Class="me-2" />
|
||||||
<MudText Class="mt-2 text-muted">계약이 없습니다.</MudText>
|
계약이 없습니다.
|
||||||
</div>
|
</MudAlert>
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -26,10 +26,10 @@
|
|||||||
}
|
}
|
||||||
else if (revenues.Count == 0)
|
else if (revenues.Count == 0)
|
||||||
{
|
{
|
||||||
<div class="pa-6 text-center">
|
<MudAlert Severity="Severity.Info" Class="mt-4">
|
||||||
<MudIcon Icon="@Icons.Material.Filled.Payments" Style="font-size:3rem; opacity:.3;" />
|
<MudIcon Icon="@Icons.Material.Filled.Payments" Class="me-2" />
|
||||||
<MudText Class="mt-2 text-muted">청구 기록이 없습니다.</MudText>
|
청구 기록이 없습니다.
|
||||||
</div>
|
</MudAlert>
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -29,10 +29,10 @@
|
|||||||
}
|
}
|
||||||
else if (schedules.Count == 0)
|
else if (schedules.Count == 0)
|
||||||
{
|
{
|
||||||
<div class="pa-6 text-center">
|
<MudAlert Severity="Severity.Info" Class="mt-4">
|
||||||
<MudIcon Icon="@Icons.Material.Filled.EventBusy" Style="font-size:3rem; opacity:.3;" />
|
<MudIcon Icon="@Icons.Material.Filled.EventBusy" Class="me-2" />
|
||||||
<MudText Class="mt-2 text-muted">신고 일정이 없습니다.</MudText>
|
신고 일정이 없습니다.
|
||||||
</div>
|
</MudAlert>
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -15,75 +15,55 @@ test.describe('admin CRM pages', () => {
|
|||||||
await navigateInBlazor(page, `${baseUrl}/admin/tax-profiles`);
|
await navigateInBlazor(page, `${baseUrl}/admin/tax-profiles`);
|
||||||
await expect(page).toHaveURL(/\/admin\/tax-profiles$/);
|
await expect(page).toHaveURL(/\/admin\/tax-profiles$/);
|
||||||
|
|
||||||
// 제목 확인
|
await expect(page.locator('.admin-page-title')).toHaveText('세무 프로필', { timeout: 15_000 });
|
||||||
await expect(page.getByText('세무 프로필 관리')).toBeVisible({ timeout: 15_000 });
|
|
||||||
|
|
||||||
// 새 프로필 추가 버튼 확인
|
|
||||||
await expect(page.getByRole('button', { name: /새 프로필 추가/ })).toBeVisible();
|
await expect(page.getByRole('button', { name: /새 프로필 추가/ })).toBeVisible();
|
||||||
|
|
||||||
// MudDataGrid 로드 확인 (테이블 or 비어있음 메시지)
|
await expect(page.locator('.admin-grid, .mud-alert')).toBeVisible({ timeout: 15_000 });
|
||||||
const gridOrEmpty = page.locator('.admin-grid, .mud-alert');
|
|
||||||
await expect(gridOrEmpty).toBeVisible({ timeout: 15_000 });
|
|
||||||
});
|
});
|
||||||
|
|
||||||
test('TaxFilingSchedules page loads with D-day tracking', async ({ page }) => {
|
test('TaxFilingSchedules page loads with D-day tracking', async ({ page }) => {
|
||||||
await navigateInBlazor(page, `${baseUrl}/admin/tax-filing-schedules`);
|
await navigateInBlazor(page, `${baseUrl}/admin/tax-filing-schedules`);
|
||||||
await expect(page).toHaveURL(/\/admin\/tax-filing-schedules$/);
|
await expect(page).toHaveURL(/\/admin\/tax-filing-schedules$/);
|
||||||
|
|
||||||
// 제목 확인
|
await expect(page.locator('.admin-page-title')).toHaveText('신고 일정', { timeout: 15_000 });
|
||||||
await expect(page.getByText('신고 일정 관리')).toBeVisible({ timeout: 15_000 });
|
|
||||||
|
|
||||||
// 새 일정 추가 버튼
|
|
||||||
await expect(page.getByRole('button', { name: /새 일정 추가/ })).toBeVisible();
|
await expect(page.getByRole('button', { name: /새 일정 추가/ })).toBeVisible();
|
||||||
|
|
||||||
// 그리드 로드
|
await expect(page.locator('.admin-grid, .mud-alert')).toBeVisible({ timeout: 15_000 });
|
||||||
const gridOrEmpty = page.locator('.admin-grid, .mud-alert');
|
|
||||||
await expect(gridOrEmpty).toBeVisible({ timeout: 15_000 });
|
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Contracts page loads with MRR display', async ({ page }) => {
|
test('Contracts page loads with MRR display', async ({ page }) => {
|
||||||
await navigateInBlazor(page, `${baseUrl}/admin/contracts`);
|
await navigateInBlazor(page, `${baseUrl}/admin/contracts`);
|
||||||
await expect(page).toHaveURL(/\/admin\/contracts$/);
|
await expect(page).toHaveURL(/\/admin\/contracts$/);
|
||||||
|
|
||||||
// 제목 확인
|
await expect(page.locator('.admin-page-title')).toHaveText('계약 관리', { timeout: 15_000 });
|
||||||
await expect(page.getByText('계약 관리')).toBeVisible({ timeout: 15_000 });
|
|
||||||
|
|
||||||
// 새 계약 추가 버튼
|
|
||||||
await expect(page.getByRole('button', { name: /새 계약 추가/ })).toBeVisible();
|
await expect(page.getByRole('button', { name: /새 계약 추가/ })).toBeVisible();
|
||||||
|
|
||||||
// 그리드 로드
|
await expect(page.locator('.admin-grid, .mud-alert')).toBeVisible({ timeout: 15_000 });
|
||||||
const gridOrEmpty = page.locator('.admin-grid, .mud-alert');
|
|
||||||
await expect(gridOrEmpty).toBeVisible({ timeout: 15_000 });
|
|
||||||
});
|
});
|
||||||
|
|
||||||
test('ConsultingActivities page loads with activity records', async ({ page }) => {
|
test('ConsultingActivities page loads with activity records', async ({ page }) => {
|
||||||
await navigateInBlazor(page, `${baseUrl}/admin/consulting-activities`);
|
await navigateInBlazor(page, `${baseUrl}/admin/consulting-activities`);
|
||||||
await expect(page).toHaveURL(/\/admin\/consulting-activities$/);
|
await expect(page).toHaveURL(/\/admin\/consulting-activities$/);
|
||||||
|
|
||||||
// 제목 확인
|
await expect(page.locator('.admin-page-title')).toHaveText('상담 활동 관리', { timeout: 15_000 });
|
||||||
await expect(page.getByText('상담 활동 관리')).toBeVisible({ timeout: 15_000 });
|
|
||||||
|
|
||||||
// 새 활동 기록 버튼
|
|
||||||
await expect(page.getByRole('button', { name: /새 활동 기록/ })).toBeVisible();
|
await expect(page.getByRole('button', { name: /새 활동 기록/ })).toBeVisible();
|
||||||
|
|
||||||
// 그리드 로드
|
await expect(page.locator('.admin-grid, .mud-alert')).toBeVisible({ timeout: 15_000 });
|
||||||
const gridOrEmpty = page.locator('.admin-grid, .mud-alert');
|
|
||||||
await expect(gridOrEmpty).toBeVisible({ timeout: 15_000 });
|
|
||||||
});
|
});
|
||||||
|
|
||||||
test('RevenueTrackings page loads with payment status tracking', async ({ page }) => {
|
test('RevenueTrackings page loads with payment status tracking', async ({ page }) => {
|
||||||
await navigateInBlazor(page, `${baseUrl}/admin/revenue-trackings`);
|
await navigateInBlazor(page, `${baseUrl}/admin/revenue-trackings`);
|
||||||
await expect(page).toHaveURL(/\/admin\/revenue-trackings$/);
|
await expect(page).toHaveURL(/\/admin\/revenue-trackings$/);
|
||||||
|
|
||||||
// 제목 확인
|
await expect(page.locator('.admin-page-title')).toHaveText('수익 추적 관리', { timeout: 15_000 });
|
||||||
await expect(page.getByText('수익 추적 관리')).toBeVisible({ timeout: 15_000 });
|
|
||||||
|
|
||||||
// 새 청구 추가 버튼
|
|
||||||
await expect(page.getByRole('button', { name: /새 청구 추가/ })).toBeVisible();
|
await expect(page.getByRole('button', { name: /새 청구 추가/ })).toBeVisible();
|
||||||
|
|
||||||
// 그리드 로드
|
await expect(page.locator('.admin-grid, .mud-alert')).toBeVisible({ timeout: 15_000 });
|
||||||
const gridOrEmpty = page.locator('.admin-grid, .mud-alert');
|
|
||||||
await expect(gridOrEmpty).toBeVisible({ timeout: 15_000 });
|
|
||||||
});
|
});
|
||||||
|
|
||||||
test('CRM navigation group is visible and expandable', async ({ page }) => {
|
test('CRM navigation group is visible and expandable', async ({ page }) => {
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ test.describe('admin authentication', () => {
|
|||||||
await page.getByRole('button', { name: '로그인' }).click();
|
await page.getByRole('button', { name: '로그인' }).click();
|
||||||
|
|
||||||
await expect(page).toHaveURL(/\/taxbaik\/admin\/dashboard$/);
|
await expect(page).toHaveURL(/\/taxbaik\/admin\/dashboard$/);
|
||||||
await expect(page.getByRole('heading', { name: '대시보드' })).toBeVisible({ timeout: 20_000 });
|
await expect(page.getByRole('heading', { name: '대시보드' }).first()).toBeVisible({ timeout: 20_000 });
|
||||||
await expect(page.getByRole('link', { name: /로그아웃/ })).toBeVisible();
|
await expect(page.getByRole('link', { name: /로그아웃/ })).toBeVisible();
|
||||||
expect(consoleErrors, 'browser console/page errors').toEqual([]);
|
expect(consoleErrors, 'browser console/page errors').toEqual([]);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -39,9 +39,11 @@ test.describe('inquiry detail', () => {
|
|||||||
await expect(page.getByText(phone, { exact: true }).first()).toBeVisible();
|
await expect(page.getByText(phone, { exact: true }).first()).toBeVisible();
|
||||||
await expect(page.getByText(message, { exact: true }).first()).toBeVisible();
|
await expect(page.getByText(message, { exact: true }).first()).toBeVisible();
|
||||||
await expect(page.getByRole('button', { name: '신규' })).toBeVisible();
|
await expect(page.getByRole('button', { name: '신규' })).toBeVisible();
|
||||||
await expect(page.getByRole('button', { name: '연락함' })).toBeVisible();
|
await expect(page.getByRole('button', { name: '상담중' })).toBeVisible();
|
||||||
await expect(page.getByRole('button', { name: '완료' })).toBeVisible();
|
await expect(page.getByRole('button', { name: '계약완료' })).toBeVisible();
|
||||||
await expect(page.getByRole('button', { name: '문의 목록으로 돌아가기' })).toBeVisible();
|
await expect(page.getByRole('button', { name: '거절' })).toBeVisible();
|
||||||
await expect(page.getByRole('link', { name: '다른 문의도 보기' })).toBeVisible();
|
await expect(page.getByRole('button', { name: '종결' })).toBeVisible();
|
||||||
|
await expect(page.getByRole('button', { name: '문의 목록으로' })).toBeVisible();
|
||||||
|
await expect(page.getByRole('button', { name: '고객으로 등록' })).toBeVisible();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user