## Description Adds the cURL import flow to go through a modal instead of editor level screen. This is done to ensure the IA is correct as per IDE 2.0 standards Fixes #32942 ## Automation /ok-to-test tags="@tag.All" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!CAUTION] > 🔴 🔴 🔴 Some tests have failed. > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9869174972> > Commit: 6143c1c79c0bb7c6a4899fc477985d0ed23699df > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9869174972&attempt=2&selectiontype=test&testsstatus=failed&specsstatus=fail" target="_blank">Cypress dashboard</a>. > Tags: @tag.All > Spec: > The following are new failures, please fix them before merging the PR: <ol> > <li>cypress/e2e/Regression/ClientSide/OtherUIFeatures/Omnibar_spec.js > <li>cypress/e2e/Regression/ClientSide/PartialImportExport/PartialExport_spec.ts</ol> > <a href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master" target="_blank">List of identified flaky tests</a>. > <hr>Wed, 10 Jul 2024 07:56:03 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 - **Refactor** - Updated test case function calls and refactored imports to improve code structure and maintainability in multiple files related to CURL import flows. - Consolidated and rearranged steps in CURL import flow test cases for better readability and organization. - **New Features** - Introduced `AppCURLImportModal` component to handle CURL command imports within the API editor. - Added constants `SET_CURL_MODAL_OPEN` and `SET_CURL_MODAL_CLOSE` for managing the state of the CURL modal. - **Style** - Updated selector formats and added proper commas in the `ApiEditor.js` file. - **Chores** - Removed unused constants and functions related to CURL import page paths across multiple files for cleaner codebase. - Streamlined the management of the CURL import modal state in the reducer and added relevant selectors. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
310 lines
6.4 KiB
TypeScript
310 lines
6.4 KiB
TypeScript
/// <reference types="cypress" />
|
|
|
|
declare namespace Cypress {
|
|
interface Chainable<Subject> {
|
|
SignupFromAPI(uname: string, password: string);
|
|
|
|
dragTo(subject: any, targetEl: any);
|
|
|
|
downloadData(filetype: string);
|
|
|
|
validateDownload(fileName: string);
|
|
|
|
AddFilterWithOperator(
|
|
operator: string,
|
|
option: string,
|
|
condition: string,
|
|
value: string,
|
|
);
|
|
|
|
stubPostHeaderReq();
|
|
|
|
addOAuth2ClientCredentialsDetails(
|
|
accessTokenUrl: string,
|
|
clientId: string,
|
|
clientSecret: string,
|
|
scope: string,
|
|
);
|
|
|
|
addOAuth2AuthorizationCodeDetails(
|
|
accessTokenUrl: string,
|
|
clientId: string,
|
|
clientSecret: string,
|
|
authURL: string,
|
|
);
|
|
|
|
testSelfSignedCertificateSettingsInREST(isOAuth2: boolean);
|
|
|
|
addBasicProfileDetails(username: string, password: string);
|
|
|
|
DeleteApp(appName: string);
|
|
|
|
GetUrlQueryParams();
|
|
|
|
LogOutUser();
|
|
|
|
LoginUser(uname: string, pword: string, goToLoginPage?: boolean);
|
|
|
|
LogintoApp(uname: string, pword: string);
|
|
|
|
LogintoAppTestUser(uname: string, pword: string);
|
|
|
|
Signup(uname: string, pword: string);
|
|
|
|
LoginFromAPI(uname: string, pword: string);
|
|
|
|
DeletepageFromSideBar();
|
|
|
|
LogOut(toCheckgetPluginForm?: boolean);
|
|
|
|
SearchApp(appname: string);
|
|
|
|
WaitAutoSave();
|
|
|
|
SelectAction(action: string);
|
|
|
|
ClearSearch();
|
|
|
|
paste($element: any, text: string);
|
|
|
|
clickTest(testbutton: string);
|
|
|
|
EvaluateCurrentValue(
|
|
currentValue: string,
|
|
isValueToBeEvaluatedDynamic?: boolean,
|
|
);
|
|
|
|
tabPopertyUpdate(tabId: string, newTabName: string);
|
|
|
|
generateUUID();
|
|
|
|
addDsl(dsl: any);
|
|
|
|
DeleteAppByApi();
|
|
|
|
DeleteWorkspaceByApi();
|
|
|
|
togglebar(value: string);
|
|
|
|
radiovalue(value: string, value2: string);
|
|
|
|
optionValue(value: string, value2: string);
|
|
|
|
typeIntoDraftEditor(selector: string, text: string);
|
|
|
|
getPluginFormsAndCreateDatasource();
|
|
|
|
NavigateToJSEditor();
|
|
|
|
selectAction(option: string);
|
|
|
|
deleteActionAndConfirm();
|
|
|
|
deleteJSObject();
|
|
|
|
deleteDataSource();
|
|
|
|
dragAndDropToCanvas(widgetType: string, { x: number, y: number });
|
|
|
|
dragAndDropToWidget(
|
|
widgetType: string,
|
|
destinationWidget: string,
|
|
{ x: number, y: number },
|
|
);
|
|
|
|
dragAndDropToWidgetBySelector(
|
|
widgetType: string,
|
|
destinationSelector: string,
|
|
{ x: number, y: number },
|
|
);
|
|
|
|
changeButtonColor(buttonColor: string);
|
|
|
|
closePropertyPane();
|
|
|
|
onClickActions(
|
|
forSuccess: string,
|
|
forFailure: string,
|
|
actionType: string,
|
|
actionValue: string,
|
|
idx?: number,
|
|
);
|
|
|
|
isSelectRow(index: number);
|
|
|
|
getDate(date: number, dateFormate: string);
|
|
|
|
setDate(date: number, dateFormate: string);
|
|
|
|
pageNo();
|
|
|
|
pageNoValidate(index: number);
|
|
|
|
validateDisableWidget(widgetCss: string, disableCss: string);
|
|
|
|
validateToolbarVisible(widgetCss: string, toolbarCss: string);
|
|
|
|
validateToolbarHidden(widgetCss: string, toolbarCss: string);
|
|
|
|
validateEnableWidget(widgetCss: string, disableCss: string);
|
|
|
|
validateHTMLText(widgetCss: string, htmlTag: string, value: string);
|
|
|
|
setTinyMceContent(tinyMceId: string, content: string);
|
|
|
|
startRoutesForDatasource();
|
|
|
|
startServerAndRoutes();
|
|
|
|
startErrorRoutes();
|
|
|
|
NavigateToPaginationTab();
|
|
|
|
ValidateTableData(value: string);
|
|
|
|
ValidateTableV2Data(value: string);
|
|
|
|
ValidatePublishTableData(value: string);
|
|
|
|
ValidatePublishTableV2Data(value: string);
|
|
|
|
ValidatePaginateResponseUrlData(runTestCss: string);
|
|
|
|
ValidatePaginateResponseUrlDataV2(runTestCss: string);
|
|
|
|
ValidatePaginationInputData(valueToTest: string);
|
|
|
|
ValidatePaginationInputDataV2(valueToTest: string);
|
|
|
|
CheckForPageSaveError();
|
|
|
|
assertPageSave(validateSavedState?: boolean);
|
|
|
|
validateCodeEditorContent(selector: string, contentToValidate: string);
|
|
|
|
updateMapType(mapType: string);
|
|
|
|
createJSObject(JSCode: string);
|
|
|
|
createSuperUser();
|
|
|
|
SignupFromAPI(uname: string, pword: string);
|
|
|
|
startInterceptRoutesForMySQL();
|
|
|
|
startInterceptRoutesForMongo();
|
|
|
|
startInterceptRoutesForS3();
|
|
|
|
replaceApplicationIdForInterceptPages(fixtureFile: string);
|
|
|
|
paste(selector: string, pastePayload: string);
|
|
|
|
typeValueNValidate(
|
|
valueToType: string,
|
|
fieldName?: string,
|
|
isDynamic?: boolean,
|
|
);
|
|
|
|
checkCodeInputValue(selector: string);
|
|
|
|
clickButton(btnVisibleText: string, toForceClick?: boolean);
|
|
|
|
actionContextMenuByEntityName(
|
|
entityNameinLeftSidebar: string,
|
|
action?: string,
|
|
subActions: string,
|
|
);
|
|
|
|
selectEntityByName(entityNameinLeftSidebar: string);
|
|
|
|
EvaluatFieldValue(fieldName?: string, currentValue?: string);
|
|
|
|
renameWithInPane(renameVal: string);
|
|
|
|
getEntityName();
|
|
|
|
VerifyErrorMsgAbsence(errorMsgToVerifyAbsence: string);
|
|
|
|
VerifyErrorMsgPresence(errorMsgToVerifyAbsence: string);
|
|
|
|
setQueryTimeout(timeout: string);
|
|
|
|
VerifyNoDataDisplayAbsence();
|
|
|
|
isNotInViewport(element: string);
|
|
|
|
isInViewport(element: string);
|
|
|
|
CheckAndUnfoldEntityItem(item: string);
|
|
|
|
DeleteEntityStateLocalStorage();
|
|
|
|
checkLabelForWidget(options: string);
|
|
|
|
saveLocalStorageCache();
|
|
|
|
restoreLocalStorageCache();
|
|
|
|
StopContainer(path: string, containerName: string);
|
|
|
|
StopAllContainer(path: string);
|
|
|
|
StartContainer(path: string, containerName: string);
|
|
|
|
StartNewContainer(
|
|
url: string,
|
|
path: string,
|
|
version: string,
|
|
containerName: string,
|
|
);
|
|
|
|
GetPath(path: string, containerName: string);
|
|
|
|
GetCWD(path: string);
|
|
|
|
GetAndVerifyLogs(path: string, containerName: string);
|
|
|
|
typeTab();
|
|
|
|
CreatePage();
|
|
|
|
GenerateCRUD();
|
|
|
|
AddPageFromTemplate();
|
|
|
|
verifyCallCount(alias: string, expectedNumberOfCalls: number);
|
|
|
|
RenameWidgetFromPropertyPane(
|
|
widgetType: string,
|
|
oldName: string,
|
|
newName: string,
|
|
);
|
|
|
|
forceVisit(url: string);
|
|
|
|
SelectDropDown(dropdownOption: string);
|
|
|
|
RemoveMultiSelectItems(dropdownOptions: string[]);
|
|
|
|
RemoveAllSelections();
|
|
|
|
SelectFromMultiSelect(options: string);
|
|
|
|
skipSignposting();
|
|
|
|
stubPricingPage();
|
|
|
|
validateEvaluatedValue(value: string);
|
|
|
|
selectByTestId(value: string): Chainable<JQuery<HTMLElement>>;
|
|
|
|
assertTooltipPresence(tooltipSelector: string, expectedText: string);
|
|
|
|
matchImageSnapshot(
|
|
name: string,
|
|
options?: Partial<Cypress.ScreenshotOptions>,
|
|
);
|
|
}
|
|
}
|