diff --git a/app/client/cypress/e2e/Regression/ClientSide/Onboarding/StartFromData_spec.ts b/app/client/cypress/e2e/Regression/ClientSide/Onboarding/StartFromData_spec.ts new file mode 100644 index 0000000000..8948691521 --- /dev/null +++ b/app/client/cypress/e2e/Regression/ClientSide/Onboarding/StartFromData_spec.ts @@ -0,0 +1,42 @@ +import { featureFlagIntercept } from "../../../../support/Objects/FeatureFlags"; +import { + agHelper, + onboarding, + dataSources, + homePage, + assertHelper, +} from "../../../../support/Objects/ObjectsCore"; + +describe( + "Start with data userflow", + { tags: ["@tag.excludeForAirgap", "@tag.Datasource"] }, + function () { + beforeEach(() => { + homePage.LogOutviaAPI(); + featureFlagIntercept({ + ab_show_templates_instead_of_blank_canvas_enabled: true, + ab_create_new_apps_enabled: true, + }); + agHelper.GenerateUUID(); + cy.get("@guid").then((uid) => { + homePage.SignUp(`${uid}@appsmithtest.com`, uid as unknown as string); + onboarding.closeIntroModal(); + }); + agHelper.GetNClick(onboarding.locators.startFromDataCard); + }); + + it("1. onboarding flow - create datasource and save, it should take me to datasource page with view mode", function () { + agHelper.Sleep(1000); + dataSources.CreateDataSource("Postgres", false); + dataSources.selectTabOnDatasourcePage("View data"); + agHelper.TypeText(dataSources._datasourceStructureSearchInput, "users"); + agHelper.GetNClick( + dataSources._dsPageTabContainerTableName("public.users"), + ); + assertHelper.AssertNetworkExecutionSuccess("@schemaPreview"); + agHelper.AssertElementAbsence( + dataSources._dsPageTableTriggermenuTarget("public.users"), + ); + }); + }, +); diff --git a/app/client/cypress/support/Pages/DataSources.ts b/app/client/cypress/support/Pages/DataSources.ts index a61f34cbfc..81b94a433b 100644 --- a/app/client/cypress/support/Pages/DataSources.ts +++ b/app/client/cypress/support/Pages/DataSources.ts @@ -430,9 +430,14 @@ export class DataSources { }).as("testDatasource"); } - public CreatePlugIn(pluginName: string, waitForToastDisappear = false) { + public CreatePlugIn( + pluginName: string, + waitForToastDisappear = false, + index = 0, + ) { cy.get(this._createNewPlgin(pluginName)) .parent("div") + .eq(index) .trigger("click", { force: true }); this.agHelper.Sleep(); //this.agHelper.WaitUntilEleAppear(this.locator._toastMsg); diff --git a/app/client/cypress/support/Pages/Onboarding.ts b/app/client/cypress/support/Pages/Onboarding.ts index cdb663a625..070742da23 100644 --- a/app/client/cypress/support/Pages/Onboarding.ts +++ b/app/client/cypress/support/Pages/Onboarding.ts @@ -18,6 +18,7 @@ export class Onboarding { add_datasources: "#add_datasources", connect_data_overlay: "#table-overlay-connectdata", startFromScratchCard: "[data-testid='t--start-from-scratch']", + startFromDataCard: "[data-testid='t--start-from-data']", seeMoreButtonOnCanvas: `[data-testid="t--canvas-building-block-see-more"]`, };