From 1b5cf5fbbf86cc68fe01dea4f81d53fa69127739 Mon Sep 17 00:00:00 2001 From: MomoPoppy <125256456+MomoPoppy@users.noreply.github.com> Date: Mon, 11 Dec 2023 18:54:56 +0800 Subject: [PATCH] test(action-menu): [action-menu] Supplement the missing e2e test cases for the dropdown component (#1100) --- .../demos/pc/app/action-menu/icon.spec.ts | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 examples/sites/demos/pc/app/action-menu/icon.spec.ts diff --git a/examples/sites/demos/pc/app/action-menu/icon.spec.ts b/examples/sites/demos/pc/app/action-menu/icon.spec.ts new file mode 100644 index 000000000..5cf2217b6 --- /dev/null +++ b/examples/sites/demos/pc/app/action-menu/icon.spec.ts @@ -0,0 +1,38 @@ +import { test, expect } from '@playwright/test' + +test('只显示图标', async ({ page }) => { + page.on('pageerror', (exception) => expect(exception).toBeNull()) + await page.goto('action-menu#icon') + + const wrap = page.locator('#icon') + const actionMenu = wrap.locator('.tiny-action-menu').nth(0) + const actionMenuItem = actionMenu.locator('.tiny-action-menu__item') + + await page.waitForTimeout(1500) + await expect(actionMenuItem.nth(0).locator('.tiny-svg')).toBeVisible() + await expect(actionMenuItem.nth(3).locator('.tiny-dropdown__trigger .tiny-svg')).toBeVisible() + await expect(actionMenuItem.nth(3).locator('.tiny-dropdown__trigger .tiny-svg')).toHaveCSS('width', '20px') + await expect(actionMenuItem.nth(3).locator('.tiny-dropdown__trigger .tiny-svg')).toHaveCSS('height', '20px') + await expect(actionMenuItem.nth(3).locator('.tiny-dropdown__trigger .tiny-svg')).toHaveCSS('margin', '2px') + await expect(actionMenuItem.nth(3).locator('.tiny-dropdown__trigger .tiny-dropdown__title')).toBeHidden() + + await actionMenuItem.nth(3).locator('.tiny-dropdown__trigger .tiny-svg').hover() + await expect(page.locator('body > .tiny-dropdown-menu')).toBeVisible() +}) + +test('只显示文本', async ({ page }) => { + page.on('pageerror', (exception) => expect(exception).toBeNull()) + await page.goto('action-menu#icon') + + const wrap = page.locator('#icon') + const actionMenu = wrap.locator('.tiny-action-menu').nth(1) + const actionMenuItem = actionMenu.locator('.tiny-action-menu__item') + + await expect(actionMenuItem.nth(0).locator('.tiny-svg')).toBeHidden() + await expect(actionMenuItem.nth(3).locator('.tiny-dropdown__trigger .tiny-svg')).toBeHidden() + await expect(actionMenuItem.nth(3).locator('.tiny-dropdown__title')).toBeVisible() + await expect(actionMenuItem.nth(3).locator('.tiny-dropdown__title')).toHaveText('更多') + + await actionMenuItem.nth(3).hover() + await expect(page.locator('body > .tiny-dropdown-menu')).toBeVisible() +})