|
4 | 4 | openTable, |
5 | 5 | getColumnSeparatorPosition, |
6 | 6 | dragColumnSeparator, |
| 7 | + markerAtCoordinates, |
7 | 8 | } from './utils'; |
8 | 9 |
|
9 | 10 | async function waitForLoadingDone(page: Page) { |
@@ -272,3 +273,48 @@ test.describe('column separators', () => { |
272 | 273 | ); |
273 | 274 | }); |
274 | 275 | }); |
| 276 | + |
| 277 | +test.describe('column group separators', () => { |
| 278 | + test.beforeEach(async ({ page }) => { |
| 279 | + await gotoPage(page, ''); |
| 280 | + // Open table with column groups for group separator testing |
| 281 | + await openTable(page, 'simple_table_header_group'); |
| 282 | + }); |
| 283 | + |
| 284 | + test('change color on hover on level 0', async ({ page }) => { |
| 285 | + // Test hover on the parent of the column "X" (column 0, depth 1) |
| 286 | + const separatorPos = await getColumnSeparatorPosition(page, 0, 1); |
| 287 | + |
| 288 | + // Move mouse to separator position to test hover interaction |
| 289 | + await page.mouse.move(separatorPos.x, separatorPos.y); |
| 290 | + await markerAtCoordinates(page, separatorPos.x, separatorPos.y); |
| 291 | + await page.waitForTimeout(100); |
| 292 | + |
| 293 | + // Take a screenshot to verify hover state |
| 294 | + await expect(page.locator('.iris-grid-panel .iris-grid')).toHaveScreenshot( |
| 295 | + 'column-group-separator-hover.png' |
| 296 | + ); |
| 297 | + }); |
| 298 | + |
| 299 | + test('resize column group on mouse drag', async ({ page }) => { |
| 300 | + // Perform drag operation to resize "All" group (last column = 2, depth = 0) |
| 301 | + await dragColumnSeparator(page, 2, 50, 0); |
| 302 | + await page.waitForTimeout(200); |
| 303 | + |
| 304 | + // Take screenshot to verify visual changes |
| 305 | + await expect(page.locator('.iris-grid-panel .iris-grid')).toHaveScreenshot( |
| 306 | + 'column-group-resized-after-drag.png' |
| 307 | + ); |
| 308 | + }); |
| 309 | + |
| 310 | + test('resize nested column groups at depth 1', async ({ page }) => { |
| 311 | + // Perform resize of "YandZ" group (last column = 2, depth = 1) |
| 312 | + await dragColumnSeparator(page, 2, -20, 1); |
| 313 | + await page.waitForTimeout(200); |
| 314 | + |
| 315 | + // Take screenshot to verify depth 1 resize |
| 316 | + await expect(page.locator('.iris-grid-panel .iris-grid')).toHaveScreenshot( |
| 317 | + 'nested-group-separator-depth-1-resized.png' |
| 318 | + ); |
| 319 | + }); |
| 320 | +}); |
0 commit comments