PromucFlow_constructor/app/client/cypress/support/e2e.js
Aman Agarwal 56e7f89402
chore: removed old flags for airgap instances (#36609)
## 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 -->
2024-10-07 15:26:25 +05:30

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();
});