e2e: update tests for weekly-timetable grid layout (days × slots)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -44,7 +44,7 @@ test.describe('排课双视图切换(阿难账号)', () => {
|
||||
await expect(calBtn).toHaveClass(/van-button--primary/);
|
||||
});
|
||||
|
||||
test('切换到矩阵视图后显示时段和日期列', async ({ page }) => {
|
||||
test('切换到矩阵视图后显示时段列和日期行', async ({ page }) => {
|
||||
await loginAsTeacher(page);
|
||||
await page.goto('/clazz', { waitUntil: 'domcontentloaded', timeout: 60_000 });
|
||||
await expect(page.locator('#app')).toBeVisible({ timeout: 60_000 });
|
||||
@@ -59,18 +59,26 @@ test.describe('排课双视图切换(阿难账号)', () => {
|
||||
const matrixContainer = page.locator('.matrix-container');
|
||||
await expect(matrixContainer).toBeVisible({ timeout: 10_000 });
|
||||
|
||||
// Should show header with date+time columns
|
||||
const header = page.locator('.matrix-header');
|
||||
await expect(header).toBeVisible();
|
||||
// Header should show time slot labels (第一节 ~ 第四节)
|
||||
const headerCells = page.locator('.header-cell');
|
||||
await expect(headerCells.first()).toBeVisible();
|
||||
const count = await headerCells.count();
|
||||
await expect(count).toBeGreaterThanOrEqual(4);
|
||||
|
||||
// Should have at least one header column
|
||||
const headerCols = header.locator('.header-col');
|
||||
expect(await headerCols.count()).toBeGreaterThanOrEqual(1);
|
||||
// Each header cell should have slot label + time
|
||||
const firstHeader = headerCells.first();
|
||||
await expect(firstHeader.locator('.header-label')).toBeVisible();
|
||||
await expect(firstHeader.locator('.header-time')).toBeVisible();
|
||||
|
||||
// Each header column should have date and time labels
|
||||
const firstCol = headerCols.first();
|
||||
await expect(firstCol.locator('.header-date')).toBeVisible();
|
||||
await expect(firstCol.locator('.header-time')).toBeVisible();
|
||||
// Day sidebar should show weekday labels (周一 ~ 周日)
|
||||
const dayCells = page.locator('.day-cell');
|
||||
await expect(dayCells.first()).toBeVisible();
|
||||
expect(await dayCells.count()).toBe(7);
|
||||
|
||||
// Each day cell should have day name + date
|
||||
const firstDay = dayCells.first();
|
||||
await expect(firstDay.locator('.day-name')).toBeVisible();
|
||||
await expect(firstDay.locator('.day-date')).toBeVisible();
|
||||
});
|
||||
|
||||
test('矩阵视图导航栏可操作(上一周/本周/下一周)', async ({ page }) => {
|
||||
@@ -106,8 +114,8 @@ test.describe('排课双视图切换(阿难账号)', () => {
|
||||
await page.locator('.view-toolbar button', { hasText: '矩阵' }).click();
|
||||
await page.waitForTimeout(1500);
|
||||
|
||||
// Check event blocks exist in the body
|
||||
const eventBlocks = page.locator('.matrix-body .event-block');
|
||||
// Check event blocks exist in the grid
|
||||
const eventBlocks = page.locator('.event-block');
|
||||
const count = await eventBlocks.count();
|
||||
|
||||
if (count === 0) {
|
||||
@@ -115,7 +123,7 @@ test.describe('排课双视图切换(阿难账号)', () => {
|
||||
return;
|
||||
}
|
||||
|
||||
// First block should show info
|
||||
// First block should show course name
|
||||
const first = eventBlocks.first();
|
||||
await expect(first.locator('.ev-title')).toBeVisible();
|
||||
|
||||
@@ -144,7 +152,6 @@ test.describe('排课双视图切换(阿难账号)', () => {
|
||||
await page.waitForTimeout(1500);
|
||||
|
||||
// Calendar (FullCalendar) should be visible
|
||||
const calendarView = page.locator('.calendar.fc'); // FullCalendar root
|
||||
await expect(page.locator('.fc')).toBeVisible({ timeout: 10_000 });
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user