## Description This adds the ability to select an option from the autocomplete suggestions list using the `Tab` key while writing code. Earlier, users could use only the `Enter` key to do so. All code editors support `Tab` for autocomplete. Fixes #20448 ## Type of change - New feature (non-breaking change which adds functionality) ## How Has This Been Tested? - Cypress ### Test Plan [Test Plan](https://github.com/appsmithorg/TestSmith/issues/2377) ### Issues raised during DP testing > Link issues raised during DP testing for better visiblity and tracking (copy link from comments dropped on this PR) ## Checklist: ### Dev activity - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [x] I have added tests that prove my fix is effective or that my feature works - [ ] New and existing unit tests pass locally with my changes - [ ] PR is being merged under a feature flag ### QA activity: - [ ] Test plan has been approved by relevant developers - [ ] Test plan has been peer reviewed by QA - [ ] Cypress test cases have been added and approved by either SDET or manual QA - [ ] Organized project review call with relevant stakeholders after Round 1/2 of QA - [ ] Added Test Plan Approved label after reveiwing all Cypress test
135 lines
3.8 KiB
JavaScript
135 lines
3.8 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" />
|
|
|
|
import "cypress-real-events/support";
|
|
import "cypress-wait-until";
|
|
import "cypress-xpath";
|
|
import * as MESSAGES from "../../../client/src/ce/constants/messages.ts";
|
|
import "./ApiCommands";
|
|
// Import commands.js using ES2015 syntax:
|
|
import "./commands";
|
|
import { initLocalstorage } from "./commands";
|
|
import "./dataSourceCommands";
|
|
import "./gitSync";
|
|
import { initLocalstorageRegistry } from "./Objects/Registry";
|
|
import "./WorkspaceCommands";
|
|
import "./queryCommands";
|
|
import "./widgetCommands";
|
|
import "./themeCommands";
|
|
import "./AdminSettingsCommands";
|
|
import "cypress-plugin-tab";
|
|
/// <reference types="cypress-xpath" />
|
|
|
|
Cypress.on("uncaught:exception", () => {
|
|
// returning false here prevents Cypress from
|
|
// failing the test
|
|
return false;
|
|
});
|
|
|
|
Cypress.on("fail", (error) => {
|
|
throw error; // throw error to have test still fail
|
|
});
|
|
|
|
Cypress.env("MESSAGES", MESSAGES);
|
|
|
|
before(function () {
|
|
//console.warn = () => {}; //to remove all warnings in cypress console
|
|
initLocalstorage();
|
|
initLocalstorageRegistry();
|
|
cy.startServerAndRoutes();
|
|
// Clear indexedDB
|
|
cy.window().then((window) => {
|
|
window.indexedDB.deleteDatabase("Appsmith");
|
|
});
|
|
cy.visit("/setup/welcome");
|
|
cy.wait("@getMe");
|
|
cy.wait(2000);
|
|
cy.url().then((url) => {
|
|
if (url.indexOf("setup/welcome") > -1) {
|
|
cy.createSuperUser();
|
|
cy.LogOut();
|
|
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();
|
|
}
|
|
});
|
|
});
|
|
|
|
before(function () {
|
|
//console.warn = () => {};
|
|
Cypress.Cookies.preserveOnce("SESSION", "remember_token");
|
|
const username = Cypress.env("USERNAME");
|
|
const password = Cypress.env("PASSWORD");
|
|
cy.LoginFromAPI(username, password);
|
|
cy.wait("@getMe");
|
|
cy.wait(3000);
|
|
cy.get(".t--applications-container .createnew")
|
|
.should("be.visible")
|
|
.should("be.enabled");
|
|
cy.generateUUID().then((id) => {
|
|
cy.CreateAppInFirstListedWorkspace(id);
|
|
localStorage.setItem("AppName", id);
|
|
});
|
|
|
|
cy.fixture("example").then(function (data) {
|
|
this.data = data;
|
|
});
|
|
});
|
|
|
|
beforeEach(function () {
|
|
//cy.window().then((win) => (win.onbeforeunload = undefined));
|
|
if (!navigator.userAgent.includes("Cypress")) {
|
|
window.addEventListener("beforeunload", this.beforeunloadFunction);
|
|
}
|
|
initLocalstorage();
|
|
Cypress.Cookies.preserveOnce("SESSION", "remember_token");
|
|
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 () {
|
|
//-- Deleting the application by Api---//
|
|
cy.DeleteAppByApi();
|
|
//-- LogOut Application---//
|
|
cy.LogOut();
|
|
|
|
// Commenting until Upgrade Appsmith cases are fixed
|
|
// const tedUrl = "http://localhost:5001/v1/parent/cmd";
|
|
// cy.log("Start the appsmith container");
|
|
// cy.StartContainer(tedUrl, "appsmith"); // start the old container
|
|
});
|