PromucFlow_constructor/app/client/cypress/support/index.d.ts
Hetu Nandu cdd33a846f
feat: cURL import now happens via a modal (#34830)
## 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 -->
2024-07-10 14:22:39 +05:30

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