Chore: Remove panels-suite from cypress tests (#108709)
remove panels-suite from cypress tests
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
import { test, expect } from '@grafana/plugin-e2e';
|
||||
|
||||
const DASHBOARD_ID = 'c01bf42b-b783-4447-a304-8554cee1843b';
|
||||
const DATAGRID_SELECT_SERIES = 'Datagrid Select series';
|
||||
|
||||
test.use({
|
||||
featureToggles: {
|
||||
enableDatagridEditing: true,
|
||||
},
|
||||
});
|
||||
|
||||
// TODO enable this test when panel goes live
|
||||
test.describe.skip(
|
||||
'Datagrid data changes',
|
||||
{
|
||||
tag: ['@panels'],
|
||||
},
|
||||
() => {
|
||||
test('Tests changing data in the grid', async ({ gotoDashboardPage, selectors, page }) => {
|
||||
const dashboardPage = await gotoDashboardPage({
|
||||
uid: DASHBOARD_ID,
|
||||
queryParams: new URLSearchParams({ editPanel: '1' }),
|
||||
});
|
||||
|
||||
// Check that the data is series A
|
||||
await expect(
|
||||
dashboardPage.getByGrafanaSelector(
|
||||
selectors.components.PanelEditor.OptionsPane.fieldLabel(DATAGRID_SELECT_SERIES)
|
||||
)
|
||||
).toBeVisible();
|
||||
await expect(page.getByTestId('glide-cell-2-0')).toHaveText('1');
|
||||
await expect(page.getByTestId('glide-cell-2-1')).toHaveText('20');
|
||||
await expect(page.getByTestId('glide-cell-2-2')).toHaveText('90');
|
||||
|
||||
// Change the series to B
|
||||
const seriesInput = dashboardPage
|
||||
.getByGrafanaSelector(selectors.components.PanelEditor.OptionsPane.fieldLabel(DATAGRID_SELECT_SERIES))
|
||||
.locator('input');
|
||||
await seriesInput.fill('B');
|
||||
await seriesInput.press('Enter');
|
||||
await expect(page.getByTestId('glide-cell-2-3')).toHaveText('30');
|
||||
await expect(page.getByTestId('glide-cell-2-4')).toHaveText('40');
|
||||
await expect(page.getByTestId('glide-cell-2-5')).toHaveText('50');
|
||||
|
||||
// Edit datagrid which triggers a snapshot query
|
||||
await page.locator('.dvn-scroller').click({ position: { x: 200, y: 100 } });
|
||||
await expect(page.getByTestId('glide-cell-2-1')).toHaveAttribute('aria-selected', 'true');
|
||||
await page.keyboard.type('12');
|
||||
await page.keyboard.press('Enter');
|
||||
|
||||
await page.getByTestId('data-testid Confirm Modal Danger Button').click();
|
||||
|
||||
await expect(page.getByTestId('query-editor-row')).toContainText('Snapshot');
|
||||
});
|
||||
}
|
||||
);
|
||||
@@ -0,0 +1,183 @@
|
||||
import { test, expect } from '@grafana/plugin-e2e';
|
||||
|
||||
const DASHBOARD_ID = 'c01bf42b-b783-4447-a304-8554cee1843b';
|
||||
const DATAGRID_CANVAS = 'data-grid-canvas';
|
||||
|
||||
test.use({
|
||||
featureToggles: {
|
||||
enableDatagridEditing: true,
|
||||
},
|
||||
});
|
||||
|
||||
// TODO enable this test when panel goes live
|
||||
test.describe.skip(
|
||||
'Datagrid data changes',
|
||||
{
|
||||
tag: ['@panels'],
|
||||
},
|
||||
() => {
|
||||
test('Tests changing data in the grid', async ({ gotoDashboardPage, selectors, page }) => {
|
||||
await gotoDashboardPage({
|
||||
uid: DASHBOARD_ID,
|
||||
queryParams: new URLSearchParams({ editPanel: '1' }),
|
||||
});
|
||||
|
||||
// Edit datagrid which triggers a snapshot query
|
||||
await page.locator('.dvn-scroller').click({ position: { x: 200, y: 100 } });
|
||||
await expect(page.getByTestId('glide-cell-2-1')).toHaveAttribute('aria-selected', 'true');
|
||||
await page.keyboard.type('123');
|
||||
await page.keyboard.press('Enter');
|
||||
|
||||
await page.getByTestId('data-testid Confirm Modal Danger Button').click();
|
||||
|
||||
// Delete a cell
|
||||
await page.locator('.dvn-scroller').click({ position: { x: 200, y: 200 } });
|
||||
await page.keyboard.press('Delete');
|
||||
await expect(page.getByTestId('glide-cell-2-4')).toHaveText('0');
|
||||
|
||||
// Delete a selection
|
||||
await page.locator('.dvn-scroller').click({ position: { x: 50, y: 100 }, modifiers: ['Shift'] });
|
||||
await page.keyboard.press('Delete');
|
||||
await expect(page.getByTestId('glide-cell-2-3')).toHaveText('0');
|
||||
await expect(page.getByTestId('glide-cell-2-2')).toHaveText('0');
|
||||
await expect(page.getByTestId('glide-cell-2-1')).toHaveText('0');
|
||||
await expect(page.getByTestId('glide-cell-2-0')).toHaveText('1');
|
||||
await expect(page.getByTestId('glide-cell-1-3')).toHaveText('');
|
||||
await expect(page.getByTestId('glide-cell-1-2')).toHaveText('');
|
||||
await expect(page.getByTestId('glide-cell-1-1')).toHaveText('');
|
||||
await expect(page.getByTestId('glide-cell-1-0')).not.toHaveText('');
|
||||
|
||||
// Clear column through context menu
|
||||
await page.locator('.dvn-scroller').click({ button: 'right', position: { x: 200, y: 100 } });
|
||||
await page.locator('[aria-label="Context menu"]').click({ position: { x: 100, y: 120 } }); // click clear column
|
||||
await expect(page.getByTestId('glide-cell-2-0')).toHaveText('0');
|
||||
await expect(page.getByTestId('glide-cell-2-4')).toHaveText('0');
|
||||
|
||||
// Clear row through context menu
|
||||
await page.locator('.dvn-scroller').click({ position: { x: 200, y: 220 } });
|
||||
await page.keyboard.type('1123');
|
||||
await page.keyboard.press('Enter');
|
||||
await page.locator('.dvn-scroller').click({ button: 'right', position: { x: 200, y: 220 } });
|
||||
await page.locator('[aria-label="Context menu"]').click({ position: { x: 100, y: 100 } }); // click clear row
|
||||
await expect(page.getByTestId('glide-cell-1-4')).toHaveText('');
|
||||
await expect(page.getByTestId('glide-cell-2-4')).toHaveText('0');
|
||||
|
||||
// get the data back
|
||||
await page.reload();
|
||||
|
||||
// Clear row through row selector
|
||||
await page.locator('.dvn-scroller').click({ position: { x: 20, y: 190 } });
|
||||
await page.locator('.dvn-scroller').click({ position: { x: 20, y: 90 }, modifiers: ['Shift'] }); // with shift to select all rows between clicks
|
||||
await page.keyboard.press('Delete');
|
||||
await page.getByTestId('data-testid Confirm Modal Danger Button').click();
|
||||
await expect(page.getByTestId('glide-cell-1-4')).toHaveText('');
|
||||
await expect(page.getByTestId('glide-cell-1-3')).toHaveText('');
|
||||
await expect(page.getByTestId('glide-cell-1-2')).toHaveText('');
|
||||
await expect(page.getByTestId('glide-cell-1-1')).toHaveText('');
|
||||
await expect(page.getByTestId('glide-cell-2-4')).toHaveText('0');
|
||||
await expect(page.getByTestId('glide-cell-2-3')).toHaveText('0');
|
||||
await expect(page.getByTestId('glide-cell-2-2')).toHaveText('0');
|
||||
await expect(page.getByTestId('glide-cell-2-1')).toHaveText('0');
|
||||
await page.reload();
|
||||
await page.locator('.dvn-scroller').click({ position: { x: 20, y: 190 } });
|
||||
await page.locator('.dvn-scroller').click({ position: { x: 20, y: 90 }, modifiers: ['Meta'] }); // with cmd to select only clicked rows
|
||||
await page.keyboard.press('Delete');
|
||||
|
||||
await page.getByTestId('data-testid Confirm Modal Danger Button').click();
|
||||
|
||||
await expect(page.getByTestId('glide-cell-1-1')).toHaveText('');
|
||||
await expect(page.getByTestId('glide-cell-2-1')).toHaveText('0');
|
||||
await expect(page.getByTestId('glide-cell-2-4')).toHaveText('0');
|
||||
await expect(page.getByTestId('glide-cell-1-4')).toHaveText('');
|
||||
|
||||
// Remove all data
|
||||
await page.locator('.dvn-scroller').click({ button: 'right', position: { x: 100, y: 100 } });
|
||||
await page.locator('body').click({ position: { x: 150, y: 420 } });
|
||||
await expect(page.getByTestId(DATAGRID_CANVAS).locator('th')).toHaveCount(0);
|
||||
|
||||
await page.reload();
|
||||
|
||||
// Delete column through header dropdown menu
|
||||
await page.locator('.dvn-scroller').click({ position: { x: 250, y: 15 } }); // click header dropdown
|
||||
await page.locator('body').click({ position: { x: 450, y: 420 } }); // click delete column
|
||||
await page.getByTestId('data-testid Confirm Modal Danger Button').click();
|
||||
await expect(page.getByTestId(DATAGRID_CANVAS).locator('th')).toHaveCount(1);
|
||||
|
||||
// Delete row through context menu
|
||||
await page.locator('.dvn-scroller').click({ button: 'right', position: { x: 100, y: 100 } });
|
||||
await page.locator('[aria-label="Context menu"]').click({ position: { x: 10, y: 10 } });
|
||||
await expect(page.getByTestId(DATAGRID_CANVAS).locator('tbody tr')).toHaveCount(6); // there are 5 data rows + 1 for the add new row btns
|
||||
|
||||
// Delete rows through row selector
|
||||
await page.locator('.dvn-scroller').click({ position: { x: 20, y: 190 } });
|
||||
await page.locator('.dvn-scroller').click({ position: { x: 20, y: 90 }, modifiers: ['Shift'] }); // with shift to select all rows between clicks
|
||||
await page.locator('.dvn-scroller').click({ button: 'right', position: { x: 100, y: 100 } });
|
||||
await page.locator('[aria-label="Context menu"]').click({ position: { x: 10, y: 10 } });
|
||||
await expect(page.getByTestId(DATAGRID_CANVAS).locator('tbody tr')).toHaveCount(2); // there are 1 data rows + 1 for the add new row btns
|
||||
await page.reload();
|
||||
await page.locator('.dvn-scroller').click({ position: { x: 20, y: 190 } });
|
||||
await page.locator('.dvn-scroller').click({ position: { x: 20, y: 90 }, modifiers: ['Meta'] }); // with cmd to select only clicked rows
|
||||
await page.locator('.dvn-scroller').click({ button: 'right', position: { x: 40, y: 90 } });
|
||||
await page.locator('[aria-label="Context menu"]').click({ position: { x: 10, y: 10 } });
|
||||
await page.getByTestId('data-testid Confirm Modal Danger Button').click();
|
||||
await expect(page.getByTestId(DATAGRID_CANVAS).locator('tbody tr')).toHaveCount(5); // there are 5 data rows + 1 for the add new row btns
|
||||
|
||||
// Delete column through context menu
|
||||
await page.locator('.dvn-scroller').click({ button: 'right', position: { x: 100, y: 100 } });
|
||||
await page.locator('[aria-label="Context menu"]').click({ position: { x: 10, y: 50 } });
|
||||
await expect(page.getByTestId(DATAGRID_CANVAS).locator('th')).toHaveCount(1);
|
||||
|
||||
await page.reload();
|
||||
|
||||
// Add a new column
|
||||
await page.locator('body').click({ position: { x: 350, y: 200 } });
|
||||
await page.keyboard.type('New Column');
|
||||
await page.keyboard.press('Enter');
|
||||
await page.getByTestId('data-testid Confirm Modal Danger Button').click();
|
||||
await page.locator('body').click({ position: { x: 350, y: 230 } });
|
||||
await page.keyboard.type('Value 1');
|
||||
await page.keyboard.press('Enter');
|
||||
await page.keyboard.type('Value 2');
|
||||
await page.keyboard.press('Enter');
|
||||
await page.keyboard.type('Value 3');
|
||||
await page.keyboard.press('Enter');
|
||||
await page.keyboard.type('Value 4');
|
||||
await page.keyboard.press('Enter');
|
||||
await page.keyboard.type('Value 5');
|
||||
await page.keyboard.press('Enter');
|
||||
await page.keyboard.type('Value 6');
|
||||
await page.keyboard.press('Enter');
|
||||
await expect(page.getByTestId(DATAGRID_CANVAS).locator('th')).toHaveCount(3);
|
||||
|
||||
// Rename a column
|
||||
await page.locator('.dvn-scroller').click({ position: { x: 250, y: 15 } }); // click header dropdown
|
||||
await page.locator('body').click({ position: { x: 450, y: 380 } });
|
||||
await page.keyboard.press('Control+a'); // select all
|
||||
await page.keyboard.press('Backspace');
|
||||
await page.keyboard.type('Renamed column');
|
||||
await page.keyboard.press('Enter');
|
||||
await expect(page.getByTestId(DATAGRID_CANVAS).locator('th')).toContainText('Renamed column');
|
||||
|
||||
// Change column field type
|
||||
await page.locator('.dvn-scroller').click({ position: { x: 310, y: 15 } });
|
||||
await page.locator('[aria-label="Context menu"]').click({ position: { x: 50, y: 50 } });
|
||||
await page.locator('.dvn-scroller').click({ position: { x: 200, y: 100 } });
|
||||
await page.keyboard.type('Str Value');
|
||||
await page.keyboard.press('Enter');
|
||||
await expect(page.getByTestId(DATAGRID_CANVAS).locator('tr')).toContainText('Str Value');
|
||||
|
||||
// Select all rows through row selection
|
||||
await page.locator('.dvn-scroller').click({ position: { x: 10, y: 10 } });
|
||||
await expect(page.getByTestId(DATAGRID_CANVAS).locator('[aria-selected="true"]')).toHaveCount(6);
|
||||
|
||||
// Add a new row
|
||||
await page.locator('.dvn-scroller').click({ position: { x: 200, y: 250 } });
|
||||
await page.keyboard.type('123');
|
||||
await page.locator('.dvn-scroller').click({ position: { x: 50, y: 250 } });
|
||||
await page.keyboard.type('Val');
|
||||
await page.keyboard.press('Enter');
|
||||
await expect(page.getByTestId(DATAGRID_CANVAS).locator('tbody tr')).toContainText('Val');
|
||||
await expect(page.getByTestId(DATAGRID_CANVAS).locator('tbody tr')).toHaveCount(8);
|
||||
});
|
||||
}
|
||||
);
|
||||
Reference in New Issue
Block a user