사이트 메뉴 /bag/* 10개 페이지 구현 + E2E 테스트 timeout 보강
- Bag 컨트롤러 신규 (기본정보/발주입고/불출/재고/판매/판매현황/수불/통계/창/도움말) - 사이트 공통 레이아웃 bag/layout/main.php 추출 - /bag/* 라우트 10개 등록 (Routes.php) - bag-site.spec.js E2E 테스트 11개 추가 - Playwright timeout 30s→60s, waitForURL 15s→30s - P4 지자체관리자 접근 테스트 3개로 분리 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
80
e2e/bag-site.spec.js
Normal file
80
e2e/bag-site.spec.js
Normal file
@@ -0,0 +1,80 @@
|
||||
// @ts-check
|
||||
const { test, expect } = require('@playwright/test');
|
||||
const { login } = require('./helpers/auth');
|
||||
|
||||
test.describe('사이트 메뉴 (/bag/*) 페이지 접근', () => {
|
||||
test.beforeEach(async ({ page }) => {
|
||||
await login(page, 'local');
|
||||
});
|
||||
|
||||
test('기본정보관리', async ({ page }) => {
|
||||
await page.goto('/bag/basic-info');
|
||||
await expect(page).toHaveURL(/\/bag\/basic-info/);
|
||||
await expect(page.locator('text=기본코드 종류')).toBeVisible();
|
||||
});
|
||||
|
||||
test('발주 입고 관리', async ({ page }) => {
|
||||
await page.goto('/bag/purchase-inbound');
|
||||
await expect(page).toHaveURL(/\/bag\/purchase-inbound/);
|
||||
await expect(page.locator('text=발주 현황')).toBeVisible();
|
||||
});
|
||||
|
||||
test('불출 관리', async ({ page }) => {
|
||||
await page.goto('/bag/issue');
|
||||
await expect(page).toHaveURL(/\/bag\/issue/);
|
||||
await expect(page.locator('th:has-text("불출일")')).toBeVisible();
|
||||
});
|
||||
|
||||
test('재고 관리', async ({ page }) => {
|
||||
await page.goto('/bag/inventory');
|
||||
await expect(page).toHaveURL(/\/bag\/inventory/);
|
||||
await expect(page.locator('th:has-text("현재재고")')).toBeVisible();
|
||||
});
|
||||
|
||||
test('판매 관리', async ({ page }) => {
|
||||
await page.goto('/bag/sales');
|
||||
await expect(page).toHaveURL(/\/bag\/sales/);
|
||||
await expect(page.locator('text=주문 접수')).toBeVisible();
|
||||
});
|
||||
|
||||
test('판매 현황', async ({ page }) => {
|
||||
await page.goto('/bag/sales-stats');
|
||||
await expect(page).toHaveURL(/\/bag\/sales-stats/);
|
||||
await expect(page.locator('th:has-text("봉투코드")')).toBeVisible();
|
||||
});
|
||||
|
||||
test('봉투 수불 관리', async ({ page }) => {
|
||||
await page.goto('/bag/flow');
|
||||
await expect(page).toHaveURL(/\/bag\/flow/);
|
||||
await expect(page.locator('th:has-text("현재재고")')).toBeVisible();
|
||||
});
|
||||
|
||||
test('통계 분석 관리', async ({ page }) => {
|
||||
await page.goto('/bag/analytics');
|
||||
await expect(page).toHaveURL(/\/bag\/analytics/);
|
||||
await expect(page.locator('main >> text=Phase 6에서 구현 예정')).toBeVisible();
|
||||
});
|
||||
|
||||
test('창', async ({ page }) => {
|
||||
await page.goto('/bag/window');
|
||||
await expect(page).toHaveURL(/\/bag\/window/);
|
||||
await expect(page.locator('text=창 관리')).toBeVisible();
|
||||
});
|
||||
|
||||
test('도움말', async ({ page }) => {
|
||||
await page.goto('/bag/help');
|
||||
await expect(page).toHaveURL(/\/bag\/help/);
|
||||
await expect(page.locator('text=시스템 개요')).toBeVisible();
|
||||
});
|
||||
});
|
||||
|
||||
test.describe('홈페이지 네비게이션 메뉴 링크', () => {
|
||||
test('메뉴 클릭으로 각 페이지 이동', async ({ page }) => {
|
||||
await login(page, 'local');
|
||||
await page.goto('/');
|
||||
|
||||
// 발주 입고 관리 메뉴 클릭
|
||||
await page.click('a:has-text("발주 입고 관리")');
|
||||
await expect(page).toHaveURL(/\/bag\/purchase-inbound/);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user