docs: add project docs and test updates
This commit is contained in:
@@ -19,13 +19,13 @@ async function loginAsLocal(page) {
|
||||
test.describe('CT-01: 페이지네이션', () => {
|
||||
test('발주 목록에 데이터 테이블 존재', async ({ page }) => {
|
||||
await loginAsLocal(page);
|
||||
await page.goto('/admin/bag-orders');
|
||||
await page.goto('/bag/bag-orders');
|
||||
await expect(page.locator('table.data-table')).toBeVisible();
|
||||
});
|
||||
|
||||
test('판매 목록에 데이터 테이블 존재', async ({ page }) => {
|
||||
await loginAsLocal(page);
|
||||
await page.goto('/admin/bag-sales');
|
||||
await page.goto('/bag/bag-sales');
|
||||
await expect(page.locator('table.data-table')).toBeVisible();
|
||||
});
|
||||
});
|
||||
@@ -36,7 +36,7 @@ test.describe('CT-01: 페이지네이션', () => {
|
||||
test.describe('CT-02: 엑셀 저장', () => {
|
||||
test('발주 엑셀 다운로드', async ({ page }) => {
|
||||
await loginAsLocal(page);
|
||||
await page.goto('/admin/bag-orders');
|
||||
await page.goto('/bag/bag-orders');
|
||||
const downloadPromise = page.waitForEvent('download', { timeout: 10000 });
|
||||
await page.locator('a[href*="export"]').first().click();
|
||||
const download = await downloadPromise;
|
||||
@@ -45,7 +45,7 @@ test.describe('CT-02: 엑셀 저장', () => {
|
||||
|
||||
test('재고 엑셀 다운로드', async ({ page }) => {
|
||||
await loginAsLocal(page);
|
||||
await page.goto('/admin/bag-inventory');
|
||||
await page.goto('/bag/bag-inventory');
|
||||
const downloadPromise = page.waitForEvent('download', { timeout: 10000 });
|
||||
await page.locator('a[href*="export"]').first().click();
|
||||
const download = await downloadPromise;
|
||||
@@ -59,7 +59,7 @@ test.describe('CT-02: 엑셀 저장', () => {
|
||||
test.describe('CT-03: 인쇄 버튼', () => {
|
||||
test('발주 목록에 인쇄 버튼 존재', async ({ page }) => {
|
||||
await loginAsLocal(page);
|
||||
await page.goto('/admin/bag-orders');
|
||||
await page.goto('/bag/bag-orders');
|
||||
await expect(page.locator('button:has-text("인쇄"), a:has-text("인쇄")')).toBeVisible();
|
||||
});
|
||||
});
|
||||
@@ -83,20 +83,20 @@ test.describe('CT-06: 대시보드 실 데이터', () => {
|
||||
test.describe('P2-15: 지정판매소 다조건 조회', () => {
|
||||
test('이름 검색 필터', async ({ page }) => {
|
||||
await loginAsLocal(page);
|
||||
await page.goto('/admin/designated-shops?ds_name=CU');
|
||||
await page.goto('/bag/designated-shops?ds_name=CU');
|
||||
await expect(page).toHaveURL(/ds_name=CU/);
|
||||
await expect(page.locator('table.data-table')).toBeVisible();
|
||||
});
|
||||
|
||||
test('상태 필터', async ({ page }) => {
|
||||
await loginAsLocal(page);
|
||||
await page.goto('/admin/designated-shops?ds_state=1');
|
||||
await page.goto('/bag/designated-shops?ds_state=1');
|
||||
await expect(page.locator('table.data-table')).toBeVisible();
|
||||
});
|
||||
|
||||
test('검색 폼에서 이름 입력 후 조회', async ({ page }) => {
|
||||
await loginAsLocal(page);
|
||||
await page.goto('/admin/designated-shops');
|
||||
await page.goto('/bag/designated-shops');
|
||||
const nameInput = page.locator('input[name="ds_name"]');
|
||||
if (await nameInput.count() > 0) {
|
||||
await nameInput.fill('GS');
|
||||
@@ -112,7 +112,7 @@ test.describe('P2-15: 지정판매소 다조건 조회', () => {
|
||||
test.describe('P2-17: 지정판매소 지도', () => {
|
||||
test('지도 페이지 접근', async ({ page }) => {
|
||||
await loginAsLocal(page);
|
||||
await page.goto('/admin/designated-shops/map');
|
||||
await page.goto('/bag/designated-shops/map');
|
||||
await expect(page).toHaveURL(/\/map/);
|
||||
});
|
||||
});
|
||||
@@ -123,7 +123,7 @@ test.describe('P2-17: 지정판매소 지도', () => {
|
||||
test.describe('P2-18: 지정판매소 현황', () => {
|
||||
test('현황 페이지 접근', async ({ page }) => {
|
||||
await loginAsLocal(page);
|
||||
await page.goto('/admin/designated-shops/status');
|
||||
await page.goto('/bag/designated-shops/status');
|
||||
await expect(page).toHaveURL(/\/status/);
|
||||
await expect(page.locator('table.data-table').first()).toBeVisible();
|
||||
});
|
||||
@@ -135,14 +135,14 @@ test.describe('P2-18: 지정판매소 현황', () => {
|
||||
test.describe('P5-04: 년 판매 현황', () => {
|
||||
test('년 판매 현황 접근', async ({ page }) => {
|
||||
await loginAsLocal(page);
|
||||
await page.goto('/admin/reports/yearly-sales');
|
||||
await page.goto('/bag/reports/yearly-sales');
|
||||
await expect(page).toHaveURL(/yearly-sales/);
|
||||
await expect(page.locator('table.data-table')).toBeVisible();
|
||||
});
|
||||
|
||||
test('연도 변경 조회', async ({ page }) => {
|
||||
await loginAsLocal(page);
|
||||
await page.goto('/admin/reports/yearly-sales?year=2025');
|
||||
await page.goto('/bag/reports/yearly-sales?year=2025');
|
||||
await expect(page).toHaveURL(/year=2025/);
|
||||
});
|
||||
});
|
||||
@@ -153,7 +153,7 @@ test.describe('P5-04: 년 판매 현황', () => {
|
||||
test.describe('P5-05: 판매소별 판매현황', () => {
|
||||
test('판매소별 현황 접근', async ({ page }) => {
|
||||
await loginAsLocal(page);
|
||||
await page.goto('/admin/reports/shop-sales');
|
||||
await page.goto('/bag/reports/shop-sales');
|
||||
await expect(page).toHaveURL(/shop-sales/);
|
||||
await expect(page.locator('table.data-table')).toBeVisible();
|
||||
});
|
||||
@@ -167,7 +167,7 @@ test.describe('P5-06: 홈택스 세금계산서 엑셀', () => {
|
||||
await loginAsLocal(page);
|
||||
// 다운로드를 트리거하는 URL이므로 evaluate로 fetch 테스트
|
||||
const status = await page.evaluate(async () => {
|
||||
const res = await fetch('/admin/reports/hometax-export');
|
||||
const res = await fetch('/bag/reports/hometax-export');
|
||||
return res.status;
|
||||
});
|
||||
expect(status).toBe(200);
|
||||
@@ -180,14 +180,14 @@ test.describe('P5-06: 홈택스 세금계산서 엑셀', () => {
|
||||
test.describe('P5-08: 반품/파기 현황', () => {
|
||||
test('반품/파기 목록 접근', async ({ page }) => {
|
||||
await loginAsLocal(page);
|
||||
await page.goto('/admin/reports/returns');
|
||||
await page.goto('/bag/reports/returns');
|
||||
await expect(page).toHaveURL(/returns/);
|
||||
await expect(page.locator('table.data-table')).toBeVisible();
|
||||
});
|
||||
|
||||
test('기간 필터 조회', async ({ page }) => {
|
||||
await loginAsLocal(page);
|
||||
await page.goto('/admin/reports/returns?start_date=2026-01-01&end_date=2026-12-31');
|
||||
await page.goto('/bag/reports/returns?start_date=2026-01-01&end_date=2026-12-31');
|
||||
await expect(page.locator('table.data-table')).toBeVisible();
|
||||
});
|
||||
});
|
||||
@@ -198,13 +198,13 @@ test.describe('P5-08: 반품/파기 현황', () => {
|
||||
test.describe('P5-10: LOT 수불 조회', () => {
|
||||
test('LOT 수불 페이지 접근', async ({ page }) => {
|
||||
await loginAsLocal(page);
|
||||
await page.goto('/admin/reports/lot-flow');
|
||||
await page.goto('/bag/reports/lot-flow');
|
||||
await expect(page).toHaveURL(/lot-flow/);
|
||||
});
|
||||
|
||||
test('LOT 번호 검색', async ({ page }) => {
|
||||
await loginAsLocal(page);
|
||||
await page.goto('/admin/reports/lot-flow?lot=LOT-2025');
|
||||
await page.goto('/bag/reports/lot-flow?lot=LOT-2025');
|
||||
await expect(page).toHaveURL(/lot=LOT/);
|
||||
});
|
||||
});
|
||||
@@ -215,13 +215,13 @@ test.describe('P5-10: LOT 수불 조회', () => {
|
||||
test.describe('P5-11: 기타 입출고', () => {
|
||||
test('기타 입출고 페이지 접근', async ({ page }) => {
|
||||
await loginAsLocal(page);
|
||||
await page.goto('/admin/reports/misc-flow');
|
||||
await page.goto('/bag/reports/misc-flow');
|
||||
await expect(page).toHaveURL(/misc-flow/);
|
||||
});
|
||||
|
||||
test('기타 입출고 등록 폼 표시', async ({ page }) => {
|
||||
await loginAsLocal(page);
|
||||
await page.goto('/admin/reports/misc-flow');
|
||||
await page.goto('/bag/reports/misc-flow');
|
||||
await expect(page.locator('select[name="bmf_type"]')).toBeVisible();
|
||||
await expect(page.locator('input[name="bmf_qty"]')).toBeVisible();
|
||||
});
|
||||
@@ -279,7 +279,7 @@ test.describe('사이트 메뉴 CRUD 동작', () => {
|
||||
test.describe('엑셀 내보내기 다운로드', () => {
|
||||
test('지정판매소 엑셀', async ({ page }) => {
|
||||
await loginAsLocal(page);
|
||||
await page.goto('/admin/designated-shops');
|
||||
await page.goto('/bag/designated-shops');
|
||||
const downloadPromise = page.waitForEvent('download', { timeout: 10000 });
|
||||
await page.locator('a[href*="export"]').first().click();
|
||||
const download = await downloadPromise;
|
||||
@@ -288,7 +288,7 @@ test.describe('엑셀 내보내기 다운로드', () => {
|
||||
|
||||
test('판매 엑셀', async ({ page }) => {
|
||||
await loginAsLocal(page);
|
||||
await page.goto('/admin/bag-sales');
|
||||
await page.goto('/bag/bag-sales');
|
||||
const downloadPromise = page.waitForEvent('download', { timeout: 10000 });
|
||||
await page.locator('a[href*="export"]').first().click();
|
||||
const download = await downloadPromise;
|
||||
|
||||
Reference in New Issue
Block a user