Files
jongryangje/e2e/bag-site.spec.js

88 lines
3.1 KiB
JavaScript
Raw Normal View History

// @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();
await expect(page.locator('a[href*="bag/code-kinds"]')).toBeVisible();
});
test('기본코드관리 (/bag/code-kinds)', async ({ page }) => {
await page.goto('/bag/code-kinds');
await expect(page).toHaveURL(/\/bag\/code-kinds/);
await expect(page.locator('h3:has-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/);
});
});