diff --git a/app/client/cypress/e2e/Regression/ClientSide/OtherUIFeatures/ForkApplication_spec.js b/app/client/cypress/e2e/Regression/ClientSide/OtherUIFeatures/ForkApplication_spec.js index f747be8477..33a8022c7a 100644 --- a/app/client/cypress/e2e/Regression/ClientSide/OtherUIFeatures/ForkApplication_spec.js +++ b/app/client/cypress/e2e/Regression/ClientSide/OtherUIFeatures/ForkApplication_spec.js @@ -62,7 +62,9 @@ describe("Fork application across workspaces", function () { ); cy.wait("@importNewApplication").then((interception) => { const { isPartialImport } = interception.response.body.data; + cy.log("isPartialImport : ", isPartialImport); if (isPartialImport) { + cy.wait(2000); cy.get(reconnectDatasourceModal.SkipToAppBtn).click({ force: true, }); @@ -85,8 +87,7 @@ describe("Fork application across workspaces", function () { cy.url().then((url) => { forkableAppUrl = url; - cy.get(homePage.profileMenu).click(); - cy.get(homePage.signOutIcon).click(); + cy.LogOut(); cy.visit(forkableAppUrl); //cy.reload(); diff --git a/app/client/src/pages/Editor/gitSync/ReconnectDatasourceModal.tsx b/app/client/src/pages/Editor/gitSync/ReconnectDatasourceModal.tsx index 1064a3e76a..49379a3f6f 100644 --- a/app/client/src/pages/Editor/gitSync/ReconnectDatasourceModal.tsx +++ b/app/client/src/pages/Editor/gitSync/ReconnectDatasourceModal.tsx @@ -1,4 +1,4 @@ -import React, { useCallback, useEffect, useState } from "react"; +import React, { useCallback, useEffect, useMemo, useState } from "react"; import { getImportedApplication, @@ -252,10 +252,12 @@ function ReconnectDatasourceModal() { const unconfiguredDatasourceIds = unconfiguredDatasources.map( (ds: Datasource) => ds.id, ); - let datasources = useSelector(getDatasources); - datasources = datasources.filter((ds: Datasource) => - unconfiguredDatasourceIds.includes(ds.id), - ); + const datasourcesList = useSelector(getDatasources); + const datasources = useMemo(() => { + return datasourcesList.filter((ds: Datasource) => + unconfiguredDatasourceIds.includes(ds.id), + ); + }, [datasourcesList, unconfiguredDatasourceIds]); const pluginsArray = useSelector(getDatasourcePlugins); const plugins = keyBy(pluginsArray, "id"); const isLoading = useSelector(getIsListing); @@ -490,15 +492,20 @@ function ReconnectDatasourceModal() { .find((ds: Datasource) => !ds.isConfigured); } next = next || pending[0]; - setSelectedDatasourceId(next.id); - setDatasource(next); - // when refresh, it should be opened. - const appInfo = { - appId: appId, - pageId: pageId, - datasourceId: next.id, - }; - localStorage.setItem("importedAppPendingInfo", JSON.stringify(appInfo)); + if (next && next.id) { + setSelectedDatasourceId(next.id); + setDatasource(next); + // when refresh, it should be opened. + const appInfo = { + appId: appId, + pageId: pageId, + datasourceId: next.id, + }; + localStorage.setItem( + "importedAppPendingInfo", + JSON.stringify(appInfo), + ); + } } else if (appURL) { // open application import successfule localStorage.setItem("importApplicationSuccess", "true");