cosmos-explorer/test/sql/selfServeExample.spec.ts

41 lines
1.9 KiB
TypeScript
Raw Permalink Normal View History

import { expect, test } from "@playwright/test";
import { DataExplorer, TestAccount } from "../fx";
Upgrade typescript to 4.9.5 and jest to 29.7.0 (and related packages) (#1884) * Upgrade typescript to 4.9.5 * Fix compile issue and put back files in tsconfig.strict.json * Update test snapshots * Fix jest tests by upgrading jest and other related packages. * Attempt to fix playwright test * Revert "Attempt to fix playwright test" This reverts commit 8293f34c9ce3901eb160a56526c59e3d3e1e343e. * 2nd attempt to fix example test * fix waitFor in playwright * Remove unused describe section * Attempt to fix e2e test * Revert "Attempt to fix e2e test" This reverts commit 9745bcd2efccf92e33e62e4563349cb76e6236de. * Upgrade playwright to latest * Revert "Upgrade playwright to latest" This reverts commit e2ea1d01895f9db157a92a5167a7865b7cc43266. * Error test on e2e * Revert "Error test on e2e" This reverts commit 124e3764f72fff70df9cc1a2e93d12faa7b507e9. * Try to select dropdown item by xpath selector * Revert "Try to select dropdown item by xpath selector" This reverts commit 8eb42a64e23cee589a7c0a809c039ecc7867b7ba. * Attempt to wait until page is fully loaded * Revert "Attempt to wait until page is fully loaded" This reverts commit bb43fcea6e71e593f7d1a3e374e9f1d57052ab70. * Use playwright selectOption to select dropdown option * Revert "Use playwright selectOption to select dropdown option" This reverts commit daa8cd09304f68093df2d94f4bd1139cb367465a. * Select dropdown option with playwright api instead of manual click * c7ab4c7ecf7b05f32a85568bce1a667ad8c62703Revert "Select dropdown option with playwright api instead of manual click" This reverts commit c7ab4c7ecf7b05f32a85568bce1a667ad8c62703. * Wait for 5s after dropdown click * Revert "Wait for 5s after dropdown click" This reverts commit 847e9ad33fbfac99a947fc088e1c8c1c14c57853. * Try forcing click * Revert "Try forcing click" This reverts commit 29b9fa1bda18dd3aba7853b20c6215d971bc826a. * Force click on the dropdown and set viewport size bigger. * Force click on the dropdown and set viewport size bigger. * try force clicking option * Skip container test on webkit * Add branded browsers to e2e tests --------- Co-authored-by: Ashley Stanton-Nurse <ashleyst@microsoft.com>
2024-07-30 23:41:41 +01:00
test("Self Serve", async ({ page, browserName }) => {
/* Skipping this test which fails on webkit only. Clicking on the dropdown does not open the dropdown.
It fails with the error below which seems to indicate that some <div> (with class "ms-Stack css-128", the label of the dropdown?) is intercepting the click.
- retrying click action, attempt #555
- waiting 500ms
- waiting for element to be visible, enabled and stable
- element is visible, enabled and stable
- scrolling into view if needed
- done scrolling
- <div class="ms-Stack css-128"></div> from <div id="selfServeContent" class="selfServeComponentC></div> subtree intercepts pointer events
Adding waiting for page to load, forcing click with .click({ force: true }) or setting page viewport with page.setViewportSize() did not help.
*/
test.skip(
browserName === "webkit",
"This test only fails on Webkit: clicking on the dropdown does not open the dropdown.",
);
const explorer = await DataExplorer.open(page, TestAccount.SQL, "selfServe.html");
const loggingToggle = explorer.frame.locator("#enableLogging-toggle-input");
await expect(loggingToggle).toBeEnabled();
const regionDropdown = explorer.frame.getByText("Select a region");
await regionDropdown.click();
await explorer.frame.getByRole("option").first().click();
const currentRegionLabel = explorer.frame.getByLabel("Current Region");
await currentRegionLabel.waitFor();
await expect(currentRegionLabel).toHaveText(/current region selected is .*/);
await expect(loggingToggle).toBeDisabled();
await explorer.frame.locator("#enableDbLevelThroughput-toggle-input").click();
const slider = explorer.frame.getByLabel("Database Throughput");
await slider.waitFor();
await expect(slider).toBeAttached();
});