Files
cosmos-explorer/test/sql/scaleAndSettings/computedProperties.spec.ts
T
2026-07-08 09:45:37 -07:00

114 lines
4.5 KiB
TypeScript

// import { expect, Page, test } from "@playwright/test";
// import * as DataModels from "../../../src/Contracts/DataModels";
// import { CommandBarButton, DataExplorer, ONE_MINUTE_MS, TestAccount } from "../../fx";
// import { createTestSQLContainer, TestContainerContext } from "../../testData";
// test.describe("Computed Properties", () => {
// let context: TestContainerContext = null!;
// let explorer: DataExplorer = null!;
// test.beforeAll("Create Test Database", async () => {
// context = await createTestSQLContainer();
// });
// test.beforeEach("Open Settings tab under Scale & Settings", async ({ page }) => {
// explorer = await DataExplorer.open(page, TestAccount.SQL);
// const containerNode = await explorer.waitForContainerNode(context.database.id, context.container.id);
// await containerNode.expand();
// // Click Scale & Settings and open Settings tab
// await explorer.openScaleAndSettings(context);
// const computedPropertiesTab = explorer.frame.getByTestId("settings-tab-header/ComputedPropertiesTab");
// await computedPropertiesTab.click();
// });
// test.afterAll("Delete Test Database", async () => {
// if (!process.env.CI) {
// await context?.dispose();
// }
// });
// test("Add valid computed property", async ({ page }) => {
// test.skip();
// await clearComputedPropertiesTextBoxContent({ page });
// // Create computed property
// const computedProperties: DataModels.ComputedProperties = [
// {
// name: "cp_lowerName",
// query: "SELECT VALUE LOWER(c.name) FROM c",
// },
// ];
// const computedPropertiesString: string = JSON.stringify(computedProperties);
// await page.keyboard.type(computedPropertiesString);
// // Save changes
// const saveButton = explorer.commandBarButton(CommandBarButton.Save);
// await expect(saveButton).toBeEnabled();
// await saveButton.click();
// await expect(explorer.getConsoleHeaderStatus()).toContainText(
// `Successfully updated container ${context.container.id}`,
// {
// timeout: ONE_MINUTE_MS,
// },
// );
// });
// test("Add computed property with invalid query", async ({ page }) => {
// test.skip();
// await clearComputedPropertiesTextBoxContent({ page });
// // Create computed property with no VALUE keyword in query
// const computedProperties: DataModels.ComputedProperties = [
// {
// name: "cp_lowerName",
// query: "SELECT LOWER(c.name) FROM c",
// },
// ];
// const computedPropertiesString: string = JSON.stringify(computedProperties);
// await page.keyboard.type(computedPropertiesString);
// // Save changes
// const saveButton = explorer.commandBarButton(CommandBarButton.Save);
// await expect(saveButton).toBeEnabled();
// await saveButton.click();
// await expect(explorer.getConsoleHeaderStatus()).toContainText(
// `Failed to update container ${context.container.id}`,
// {
// timeout: ONE_MINUTE_MS,
// },
// );
// });
// test("Add computed property with invalid json", async ({ page }) => {
// test.skip();
// await clearComputedPropertiesTextBoxContent({ page });
// // Create computed property with no VALUE keyword in query
// const computedProperties: DataModels.ComputedProperties = [
// {
// name: "cp_lowerName",
// query: "SELECT LOWER(c.name) FROM c",
// },
// ];
// const computedPropertiesString: string = JSON.stringify(computedProperties);
// await page.keyboard.type(computedPropertiesString + "]");
// // Save button should remain disabled due to invalid json
// const saveButton = explorer.commandBarButton(CommandBarButton.Save);
// await expect(saveButton).toBeDisabled();
// });
// const clearComputedPropertiesTextBoxContent = async ({ page }: { page: Page }): Promise<void> => {
// // Get computed properties text box
// await explorer.frame.waitForSelector(".monaco-scrollable-element", { state: "visible" });
// const computedPropertiesEditor = explorer.frame.getByTestId("computed-properties-editor");
// await computedPropertiesEditor.click();
// // Clear existing content (Ctrl+A + Backspace does not work with webkit)
// for (let i = 0; i < 100; i++) {
// await page.keyboard.press("Backspace");
// }
// };
// });