## Description Removed all the occurrences of listed flags in the codebase: 1. ab_ds_binding_enabled 2. ab_ds_schema_enabled 3. ab_gsheet_schema_enabled 4. ab_learnability_discoverability_collapse_all_except_data_enabled 5. ab_learnability_ease_of_initial_use_enabled 6. ab_mock_mongo_schema_enabled 7. ab_start_with_data_default_enabled 8. rollout_js_enabled_one_click_binding_enabled Fixes #36256 _or_ Fixes `Issue URL` > [!WARNING] > _If no issue exists, please create an issue first, and check with the maintainers if the issue is valid._ ## Automation /ok-to-test tags="@tag.All" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/11177173738> > Commit: bfbf6bbe77b963c5d257c29cf5bac35139417a07 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11177173738&attempt=2" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Fri, 04 Oct 2024 10:31:10 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Summary by CodeRabbit - **New Features** - Enhanced test coverage for the Community Issues page, focusing on pagination, search, filtering, and issue management. - Improved functionality for adding new rows to table widgets, including visibility controls and state validations. - **Bug Fixes** - Resolved issues related to the visibility of UI elements when adding new rows and ensured accurate data reflection in the table. - **Tests** - Expanded tests for pagination, row selection, search functionality, and filtering logic in table widgets. - Added comprehensive assertions for client-side search and filtering scenarios, including checks for modal visibility during issue management. - **Chores** - Removed obsolete feature flags and streamlined logic for managing feature flags across components. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
175 lines
5.0 KiB
JavaScript
175 lines
5.0 KiB
JavaScript
// ***********************************************************
|
|
// This example support/index.js is processed and
|
|
// loaded automatically before your test files.
|
|
//
|
|
// This is a great place to put global configuration and
|
|
// behavior that modifies Cypress.
|
|
//
|
|
// You can change the location of this file or turn off
|
|
// automatically serving support files with the
|
|
// 'supportFile' configuration option.
|
|
//
|
|
// You can read more here:
|
|
// https://on.cypress.io/configuration
|
|
// ***********************************************************
|
|
/// <reference types="Cypress" />
|
|
/// <reference types='cypress-tags' />
|
|
import "cypress-real-events";
|
|
import "cypress-real-events/support";
|
|
import "cypress-wait-until";
|
|
import "cypress-network-idle";
|
|
import "cypress-xpath";
|
|
import * as MESSAGES from "../../src/ce/constants/messages.ts";
|
|
import "./ApiCommands";
|
|
import "./commands";
|
|
import { initLocalstorage, addIndexedDBKey } from "./commands";
|
|
import "./dataSourceCommands";
|
|
import "./gitSync";
|
|
import { initLocalstorageRegistry } from "./Objects/Registry";
|
|
import RapidMode from "./RapidMode.ts";
|
|
import "cypress-mochawesome-reporter/register";
|
|
import installLogsCollector from "cypress-terminal-report/src/installLogsCollector";
|
|
import { CURRENT_REPO, REPO } from "../fixtures/REPO";
|
|
import { addMatchImageSnapshotCommand } from "@simonsmith/cypress-image-snapshot/command";
|
|
|
|
import "./WorkspaceCommands";
|
|
import "./queryCommands";
|
|
import "./widgetCommands";
|
|
import "./themeCommands";
|
|
import "./AdminSettingsCommands";
|
|
import "cypress-plugin-tab";
|
|
import {
|
|
FEATURE_WALKTHROUGH_INDEX_KEY,
|
|
WALKTHROUGH_TEST_PAGE,
|
|
} from "./Constants.js";
|
|
const registerCypressGrep = require("@cypress/grep");
|
|
/// <reference types="cypress-xpath" />
|
|
|
|
registerCypressGrep();
|
|
installLogsCollector();
|
|
|
|
addMatchImageSnapshotCommand({
|
|
comparisonMethod: "ssim",
|
|
failureThreshold: 0.01,
|
|
failureThresholdType: "percent",
|
|
});
|
|
|
|
Cypress.on("uncaught:exception", (error) => {
|
|
return false; // returning false here prevents Cypress from failing the test
|
|
});
|
|
|
|
Cypress.on("fail", (error) => {
|
|
cy.log(error.message);
|
|
throw error; // throw error to have test fail
|
|
});
|
|
|
|
Cypress.env("MESSAGES", MESSAGES);
|
|
|
|
before(function () {
|
|
if (RapidMode.config.enabled) {
|
|
cy.startServerAndRoutes();
|
|
cy.getCookie("SESSION").then((cookie) => {
|
|
if (!cookie) {
|
|
cy.LoginFromAPI(Cypress.env("USERNAME"), Cypress.env("PASSWORD"));
|
|
}
|
|
});
|
|
|
|
if (!RapidMode.config.usesDSL) {
|
|
cy.visit(RapidMode.url());
|
|
cy.wait("@getWorkspace");
|
|
}
|
|
}
|
|
});
|
|
|
|
before(function () {
|
|
if (RapidMode.config.enabled) {
|
|
return;
|
|
}
|
|
initLocalstorage();
|
|
initLocalstorageRegistry();
|
|
cy.startServerAndRoutes();
|
|
// Clear indexedDB
|
|
cy.window().then((window) => {
|
|
window.indexedDB.deleteDatabase("Appsmith");
|
|
});
|
|
cy.visit("/setup/welcome", { timeout: 60000 });
|
|
cy.wait("@getConsolidatedData");
|
|
|
|
cy.wait(2000);
|
|
const username = Cypress.env("USERNAME");
|
|
const password = Cypress.env("PASSWORD");
|
|
cy.url().then((url) => {
|
|
if (url.indexOf("setup/welcome") > -1) {
|
|
cy.createSuperUser();
|
|
cy.SignupFromAPI(
|
|
Cypress.env("TESTUSERNAME1"),
|
|
Cypress.env("TESTPASSWORD1"),
|
|
);
|
|
cy.LogOut();
|
|
cy.SignupFromAPI(
|
|
Cypress.env("TESTUSERNAME2"),
|
|
Cypress.env("TESTPASSWORD2"),
|
|
);
|
|
cy.LogOut();
|
|
cy.SignupFromAPI(
|
|
Cypress.env("TESTUSERNAME3"),
|
|
Cypress.env("TESTPASSWORD3"),
|
|
);
|
|
cy.LogOut();
|
|
cy.SignupFromAPI(
|
|
Cypress.env("TESTUSERNAME4"),
|
|
Cypress.env("TESTPASSWORD4"),
|
|
);
|
|
cy.LogOut();
|
|
cy.LoginFromAPI(username, password);
|
|
} else if (url.indexOf("user/login") > -1) {
|
|
//Cypress.Cookies.preserveOnce("SESSION", "remember_token");
|
|
cy.LoginFromAPI(username, password);
|
|
cy.wait(3000);
|
|
}
|
|
});
|
|
|
|
if (CURRENT_REPO === REPO.EE) {
|
|
cy.wait(2000);
|
|
cy.url().then((url) => {
|
|
if (url.indexOf("/license") > -1) {
|
|
cy.validateLicense();
|
|
}
|
|
});
|
|
}
|
|
|
|
if (!Cypress.currentTest.titlePath[0].includes(WALKTHROUGH_TEST_PAGE)) {
|
|
// Adding key FEATURE_WALKTHROUGH (which is used to check if the walkthrough is already shown to the user or not) for non walkthrough cypress tests (to not show walkthrough)
|
|
addIndexedDBKey(FEATURE_WALKTHROUGH_INDEX_KEY, {
|
|
binding_widget: true,
|
|
});
|
|
}
|
|
|
|
cy.CreateNewAppInNewWorkspace(); //Creating new workspace and app
|
|
cy.fixture("TestDataSet1").then(function (data) {
|
|
this.dataSet = data;
|
|
});
|
|
});
|
|
|
|
beforeEach(function () {
|
|
if (!navigator.userAgent.includes("Cypress")) {
|
|
window.addEventListener("beforeunload", this.beforeunloadFunction);
|
|
}
|
|
initLocalstorage();
|
|
cy.startServerAndRoutes();
|
|
//-- Delete local storage data of entity explorer
|
|
cy.DeleteEntityStateLocalStorage();
|
|
cy.intercept("api/v1/admin/env", (req) => {
|
|
req.headers["origin"] = Cypress.config("baseUrl");
|
|
});
|
|
});
|
|
|
|
after(function () {
|
|
if (RapidMode.config.enabled) {
|
|
return;
|
|
}
|
|
//-- Deleting the application by Api---//
|
|
cy.DeleteAppByApi();
|
|
cy.DeleteWorkspaceByApi();
|
|
});
|