mirror of
https://github.com/ToolJet/ToolJet
synced 2026-05-04 22:08:29 +00:00
* Fix failing cypress test cases on action * Modify failed test cases * Modify commands * Add wait * Add wait * Modify test cases * Modify config * Add commands for visit slug * Modify config * Modify config * Modify public app spec * Modify test cases * Add wait
213 lines
6.9 KiB
JavaScript
213 lines
6.9 KiB
JavaScript
import { commonSelectors, commonWidgetSelector } from "Selectors/common";
|
|
import { fake } from "Fixtures/fake";
|
|
import {
|
|
logout,
|
|
navigateToAppEditor,
|
|
verifyTooltip,
|
|
releaseApp,
|
|
} from "Support/utils/common";
|
|
import { commonText } from "Texts/common";
|
|
import { addNewUserMW } from "Support/utils/userPermissions";
|
|
import { userSignUp } from "Support/utils/onboarding";
|
|
|
|
describe(
|
|
"App share functionality",
|
|
{
|
|
retries: {
|
|
runMode: 2,
|
|
openMode: 1,
|
|
},
|
|
},
|
|
() => {
|
|
const data = {};
|
|
data.appName = `${fake.companyName} App`;
|
|
data.firstName = fake.firstName;
|
|
data.lastName = fake.lastName.replaceAll("[^A-Za-z]", "");
|
|
data.email = fake.email.toLowerCase();
|
|
const slug = data.appName.toLowerCase().replace(/\s+/g, "-");
|
|
const firstUserEmail = data.email;
|
|
const envVar = Cypress.env("environment");
|
|
beforeEach(() => {
|
|
cy.defaultWorkspaceLogin();
|
|
});
|
|
|
|
it("Verify private and public app share funtionality", () => {
|
|
data.appName = `${fake.companyName} App`;
|
|
|
|
cy.apiCreateApp(data.appName);
|
|
cy.openApp();
|
|
cy.dragAndDropWidget("Table", 250, 250);
|
|
|
|
|
|
verifyTooltip(
|
|
commonWidgetSelector.shareAppButton,
|
|
"Share URL is unavailable until current version is released"
|
|
);
|
|
cy.get('[data-cy="share-button-link"]>span').should(
|
|
"have.class",
|
|
"share-disabled"
|
|
);
|
|
releaseApp();
|
|
cy.get(commonWidgetSelector.shareAppButton).click();
|
|
|
|
for (const elements in commonWidgetSelector.shareModalElements) {
|
|
cy.get(
|
|
commonWidgetSelector.shareModalElements[elements]
|
|
).verifyVisibleElement(
|
|
"have.text",
|
|
commonText.shareModalElements[elements]
|
|
);
|
|
}
|
|
cy.get(commonWidgetSelector.copyAppLinkButton).should("be.visible");
|
|
cy.get(commonWidgetSelector.makePublicAppToggle).should("be.visible");
|
|
cy.get(commonWidgetSelector.appLink).should("be.visible");
|
|
cy.get(commonWidgetSelector.appNameSlugInput).should("be.visible");
|
|
// cy.get(commonWidgetSelector.iframeLink).should("be.visible");
|
|
cy.get(commonWidgetSelector.modalCloseButton).should("be.visible");
|
|
|
|
cy.clearAndType(commonWidgetSelector.appNameSlugInput, `${slug}`);
|
|
cy.wait(4000);
|
|
cy.get(commonWidgetSelector.modalCloseButton).click();
|
|
cy.forceClickOnCanvas();
|
|
cy.get(commonSelectors.editorPageLogo).click();
|
|
|
|
logout();
|
|
cy.wait(4000);
|
|
cy.get(commonSelectors.loginButton, { timeout: 20000 }).should(
|
|
"be.visible"
|
|
);
|
|
cy.visitSlug({ actualUrl: `http://localhost:8082/applications/${slug}` });
|
|
cy.wait(3000);
|
|
|
|
cy.get(commonSelectors.loginButton, { timeout: 20000 }).should(
|
|
"be.visible"
|
|
);
|
|
|
|
cy.clearAndType(commonSelectors.workEmailInputField, "[email protected]");
|
|
cy.clearAndType(commonSelectors.passwordInputField, "password");
|
|
cy.get(commonSelectors.loginButton).click();
|
|
|
|
cy.wait(500);
|
|
cy.get('[data-cy="draggable-widget-table1"]').should("be.visible");
|
|
cy.get(commonSelectors.viewerPageLogo).click();
|
|
|
|
cy.openApp(
|
|
"my-workspace",
|
|
Cypress.env("appId"),
|
|
'[data-cy="draggable-widget-table1"]'
|
|
);
|
|
cy.get(commonWidgetSelector.shareAppButton).click();
|
|
cy.get(commonWidgetSelector.makePublicAppToggle).check();
|
|
cy.get(commonWidgetSelector.modalCloseButton).click();
|
|
cy.get(commonSelectors.editorPageLogo).click();
|
|
|
|
logout();
|
|
cy.wait(4000);
|
|
cy.get(commonSelectors.loginButton, { timeout: 20000 }).should(
|
|
"be.visible"
|
|
);
|
|
cy.visitSlug({ actualUrl: `http://localhost:8082/applications/${slug}` });
|
|
cy.wait(3000);
|
|
cy.get('[data-cy="draggable-widget-table1"]').should("be.visible");
|
|
});
|
|
|
|
it("Verify app private and public app visibility for the same workspace user", () => {
|
|
cy.openApp(
|
|
"my-workspace",
|
|
Cypress.env("appId"),
|
|
'[data-cy="draggable-widget-table1"]'
|
|
);
|
|
cy.wait(2000);
|
|
cy.get(commonWidgetSelector.shareAppButton).click();
|
|
cy.get("body").then(($el) => {
|
|
if (!$el.text().includes("Embedded app link", { timeout: 2000 })) {
|
|
cy.get(commonWidgetSelector.makePublicAppToggle).check();
|
|
}
|
|
});
|
|
cy.get(commonWidgetSelector.modalCloseButton).click();
|
|
cy.get(commonSelectors.editorPageLogo).click();
|
|
|
|
addNewUserMW(data.firstName, data.email);
|
|
logout();
|
|
cy.wait(4000);
|
|
cy.get(commonSelectors.loginButton, { timeout: 20000 }).should(
|
|
"be.visible"
|
|
);
|
|
|
|
cy.visitSlug({ actualUrl: `/applications/${slug}` });
|
|
cy.get('[data-cy="draggable-widget-table1"]').should("be.visible");
|
|
|
|
cy.defaultWorkspaceLogin();
|
|
cy.openApp(
|
|
"my-workspace",
|
|
Cypress.env("appId"),
|
|
'[data-cy="draggable-widget-table1"]'
|
|
);
|
|
cy.wait(2000);
|
|
cy.get(commonWidgetSelector.shareAppButton).click();
|
|
cy.get(commonWidgetSelector.makePublicAppToggle).uncheck();
|
|
cy.get(commonWidgetSelector.modalCloseButton).click();
|
|
cy.get(commonSelectors.editorPageLogo).click();
|
|
|
|
logout();
|
|
cy.wait(4000);
|
|
cy.get(commonSelectors.loginButton, { timeout: 20000 }).should(
|
|
"be.visible"
|
|
);
|
|
|
|
cy.visitSlug({ actualUrl: `/applications/${slug}` });
|
|
|
|
cy.login(data.email, "password");
|
|
cy.get(commonSelectors.allApplicationLink).verifyVisibleElement(
|
|
"have.text",
|
|
commonText.allApplicationLink
|
|
);
|
|
});
|
|
|
|
it("Verify app private and public app visibility for the same instance user", () => {
|
|
data.firstName = fake.firstName;
|
|
data.email = fake.email.toLowerCase();
|
|
|
|
cy.logoutApi();
|
|
userSignUp(data.firstName, data.email, "Test");
|
|
cy.wait(3000);
|
|
|
|
cy.visitSlug({ actualUrl: `/applications/${slug}` });
|
|
cy.wait(1000);
|
|
|
|
cy.clearAndType(commonSelectors.workEmailInputField, data.email);
|
|
cy.clearAndType(commonSelectors.passwordInputField, "password");
|
|
cy.get(commonSelectors.signInButton).click();
|
|
cy.wait(1000);
|
|
cy.get(`[data-cy="workspace-sign-in-sub-header"]`).verifyVisibleElement(
|
|
"have.text",
|
|
"Sign in to your workspace - My workspace"
|
|
);
|
|
|
|
cy.visit("/");
|
|
cy.wait(2000);
|
|
logout();
|
|
cy.defaultWorkspaceLogin();
|
|
|
|
cy.openApp(
|
|
"my-workspace",
|
|
Cypress.env("appId"),
|
|
'[data-cy="draggable-widget-table1"]'
|
|
);
|
|
cy.wait(2000);
|
|
cy.get(commonWidgetSelector.shareAppButton).click();
|
|
cy.get(commonWidgetSelector.makePublicAppToggle).check();
|
|
cy.get(commonWidgetSelector.modalCloseButton).click();
|
|
cy.get(commonSelectors.editorPageLogo).click();
|
|
|
|
logout();
|
|
cy.wait(4000);
|
|
cy.get(commonSelectors.loginButton, { timeout: 20000 }).should(
|
|
"be.visible"
|
|
);
|
|
cy.visitSlug({ actualUrl: `/applications/${slug}` });
|
|
cy.get('[data-cy="draggable-widget-table1"]').should("be.visible");
|
|
cy.get(commonSelectors.viewerPageLogo).click();
|
|
});
|
|
}
|
|
);
|