mirror of
https://github.com/ToolJet/ToolJet
synced 2026-04-24 23:17:38 +00:00
* Cypress platfrom pipeline fixes * feat: update Cypress Dockerfiles to use cypress-lts.Dockerfile for builds * chore: update submodule commits for frontend and server --------- Co-authored-by: adishM98 Bot <[email protected]>
598 lines
No EOL
20 KiB
JavaScript
598 lines
No EOL
20 KiB
JavaScript
import {
|
|
commonEeSelectors,
|
|
ssoEeSelector,
|
|
instanceSettingsSelector,
|
|
multiEnvSelector,
|
|
workspaceSelector,
|
|
} from "Selectors/eeCommon";
|
|
import { ssoEeText } from "Texts/eeCommon";
|
|
import { commonSelectors, commonWidgetSelector } from "Selectors/common";
|
|
import * as common from "Support/utils/common";
|
|
import { groupsSelector } from "Selectors/manageGroups";
|
|
import { groupsText } from "Texts/manageGroups";
|
|
import { eeGroupsSelector } from "Selectors/eeCommon";
|
|
import { eeGroupsText } from "Texts/eeCommon";
|
|
import {
|
|
// verifyOnboardingQuestions,
|
|
// verifyCloudOnboardingQuestions,
|
|
fetchAndVisitInviteLink,
|
|
} from "Support/utils/manageUsers";
|
|
import { commonText } from "Texts/common";
|
|
import { dashboardText } from "Texts/dashboard";
|
|
import { usersText } from "Texts/manageUsers";
|
|
import { usersSelector } from "Selectors/manageUsers";
|
|
import { ssoSelector } from "Selectors/manageSSO";
|
|
import { ssoText } from "Texts/manageSSO";
|
|
// import { appPromote } from "Support/utils/multiEnv";
|
|
|
|
export const oidcSSOPageElements = () => {
|
|
cy.get(ssoEeSelector.oidcToggle).click();
|
|
cy.get(ssoSelector.saveButton).eq(1).click();
|
|
cy.get('[data-cy="modal-title"]').verifyVisibleElement(
|
|
"have.text",
|
|
"Enable OpenID Connect"
|
|
);
|
|
cy.get('[data-cy="modal-close-button"]').should("be.visible");
|
|
cy.get('[data-cy="modal-message"]').verifyVisibleElement(
|
|
"have.text",
|
|
"Enabling OpenID Connect at the workspace level will override any OpenID Connect configurations set at the instance level."
|
|
);
|
|
cy.get('[data-cy="confirmation-text"]').verifyVisibleElement(
|
|
"have.text",
|
|
"Are you sure you want to continue?"
|
|
);
|
|
cy.get('[data-cy="cancel-button"]')
|
|
.eq(2)
|
|
.verifyVisibleElement("have.text", "Cancel");
|
|
cy.get('[data-cy="enable-button"]').verifyVisibleElement(
|
|
"have.text",
|
|
"Enable"
|
|
);
|
|
|
|
cy.get('[data-cy="cancel-button"]').eq(2).click();
|
|
cy.get('[data-cy="status-label"]').verifyVisibleElement(
|
|
"have.text",
|
|
ssoText.disabledLabel
|
|
);
|
|
|
|
cy.get(ssoEeSelector.oidcToggle).click();
|
|
cy.get(ssoSelector.saveButton).eq(1).click();
|
|
cy.get('[data-cy="enable-button"]').click();
|
|
|
|
cy.verifyToastMessage(
|
|
commonSelectors.toastMessage,
|
|
ssoText.toggleUpdateToast("OpenID")
|
|
);
|
|
|
|
cy.get(ssoEeSelector.statusLabel).verifyVisibleElement(
|
|
"have.text",
|
|
ssoEeText.enabledLabel
|
|
);
|
|
|
|
cy.get('[data-cy="redirect-url-label"]').verifyVisibleElement(
|
|
"have.text",
|
|
ssoText.redirectUrlLabel
|
|
);
|
|
cy.get('[data-cy="redirect-url"]').should("be.visible");
|
|
cy.get('[data-cy="copy-icon"]').should("be.visible");
|
|
|
|
cy.get(ssoEeSelector.oidcToggle).click();
|
|
cy.get(ssoSelector.saveButton).eq(1).click();
|
|
// cy.get('[data-cy="enable-button"]').click();
|
|
cy.verifyToastMessage(
|
|
commonSelectors.toastMessage,
|
|
ssoText.toggleUpdateToast("OpenID")
|
|
);
|
|
cy.get(ssoSelector.statusLabel).verifyVisibleElement(
|
|
"have.text",
|
|
ssoText.disabledLabel
|
|
);
|
|
|
|
cy.get(ssoEeSelector.oidcToggle).click();
|
|
cy.clearAndType(ssoEeSelector.nameInput, ssoEeText.testName);
|
|
cy.clearAndType(ssoEeSelector.clientIdInput, ssoEeText.testclientId);
|
|
cy.clearAndType(ssoEeSelector.clientSecretInput, ssoEeText.testclientSecret);
|
|
cy.clearAndType(ssoEeSelector.WellKnownUrlInput, ssoEeText.testWellknownUrl);
|
|
cy.get(ssoSelector.saveButton).eq(1).click();
|
|
cy.get('[data-cy="enable-button"]').click();
|
|
cy.verifyToastMessage(
|
|
commonSelectors.toastMessage,
|
|
ssoText.toggleUpdateToast("OpenID")
|
|
);
|
|
cy.get(ssoEeSelector.nameInput).should("have.value", ssoEeText.testName);
|
|
cy.get(ssoEeSelector.clientIdInput).should(
|
|
"have.value",
|
|
ssoEeText.testclientId
|
|
);
|
|
cy.get(ssoEeSelector.clientSecretInput).should(
|
|
"have.value",
|
|
ssoEeText.testclientSecret
|
|
);
|
|
cy.get(ssoEeSelector.WellKnownUrlInput).should(
|
|
"have.value",
|
|
ssoEeText.testWellknownUrl
|
|
);
|
|
};
|
|
|
|
export const resetDsPermissions = () => {
|
|
common.navigateToManageGroups();
|
|
cy.wait(200);
|
|
cy.get(groupsSelector.permissionsLink).click();
|
|
|
|
cy.get(groupsSelector.appsCreateCheck).then(($el) => {
|
|
if ($el.is(":checked")) {
|
|
cy.get(groupsSelector.appsCreateCheck).uncheck();
|
|
}
|
|
});
|
|
cy.get(eeGroupsSelector.dsCreateCheck).then(($el) => {
|
|
if ($el.is(":checked")) {
|
|
cy.get(eeGroupsSelector.dsCreateCheck).uncheck();
|
|
}
|
|
});
|
|
cy.get(eeGroupsSelector.dsDeleteCheck).then(($el) => {
|
|
if ($el.is(":checked")) {
|
|
cy.get(eeGroupsSelector.dsDeleteCheck).uncheck();
|
|
}
|
|
});
|
|
};
|
|
|
|
export const deleteAssignedDatasources = () => {
|
|
common.navigateToManageGroups();
|
|
cy.get('[data-cy="datasource-link"]').click();
|
|
cy.get("body").then(($body) => {
|
|
const removeAllButtons = $body.find('[data-cy="remove-button"]');
|
|
if (removeAllButtons.length > 0) {
|
|
cy.get('[data-cy="remove-button"]').click({ multiple: true });
|
|
}
|
|
});
|
|
};
|
|
|
|
export const userSignUp = (fullName, email, workspaceName) => {
|
|
const verificationFunction =
|
|
Cypress.env("environment") === "Enterprise"
|
|
? verifyOnboardingQuestions
|
|
: verifyCloudOnboardingQuestions;
|
|
|
|
let invitationLink = "";
|
|
cy.visit("/");
|
|
cy.wait(500);
|
|
cy.get(commonSelectors.createAnAccountLink).realClick();
|
|
cy.clearAndType(commonSelectors.nameInputField, fullName);
|
|
cy.clearAndType(commonSelectors.emailInputField, email);
|
|
cy.clearAndType(commonSelectors.passwordInputField, commonText.password);
|
|
cy.get(commonSelectors.signUpButton).click();
|
|
|
|
cy.wait(500);
|
|
cy.task("dbConnection", {
|
|
dbconfig: Cypress.env("app_db"),
|
|
sql: `select invitation_token from users where email='${email}';`,
|
|
}).then((resp) => {
|
|
invitationLink = `/invitations/${resp.rows[0].invitation_token}`;
|
|
cy.visit(invitationLink);
|
|
cy.get(commonSelectors.setUpToolJetButton).click();
|
|
cy.wait(4000);
|
|
|
|
verificationFunction(fullName, workspaceName);
|
|
});
|
|
};
|
|
|
|
export const allowPersonalWorkspace = (allow = true) => {
|
|
const value = allow ? "true" : "false";
|
|
cy.task("dbConnection", {
|
|
dbconfig: Cypress.env("app_db"),
|
|
sql: `UPDATE instance_settings SET value = '${value}' WHERE key = 'ALLOW_PERSONAL_WORKSPACE';`,
|
|
});
|
|
};
|
|
|
|
export const addNewUserEE = (firstName, email) => {
|
|
common.navigateToManageUsers();
|
|
cy.get(usersSelector.buttonAddUsers).click();
|
|
cy.get(commonSelectors.inputFieldFullName).type(firstName);
|
|
cy.get(commonSelectors.inputFieldEmailAddress).type(email);
|
|
|
|
cy.get(usersSelector.buttonInviteUsers).click();
|
|
cy.verifyToastMessage(
|
|
commonSelectors.toastMessage,
|
|
usersText.userCreatedToast
|
|
);
|
|
WorkspaceInvitationLink(email);
|
|
cy.clearAndType(commonSelectors.passwordInputField, usersText.password);
|
|
cy.get(commonSelectors.signUpButton).click();
|
|
cy.wait(2000);
|
|
cy.get(commonSelectors.acceptInviteButton).click();
|
|
cy.get(commonSelectors.workspaceName).verifyVisibleElement(
|
|
"have.text",
|
|
"My workspace"
|
|
);
|
|
};
|
|
|
|
export const inviteUser = (firstName, email) => {
|
|
cy.get(usersSelector.buttonAddUsers).click();
|
|
cy.get(commonSelectors.inputFieldFullName).type(firstName);
|
|
cy.get(commonSelectors.inputFieldEmailAddress).type(email);
|
|
|
|
cy.get(usersSelector.buttonInviteUsers).click();
|
|
cy.verifyToastMessage(
|
|
commonSelectors.toastMessage,
|
|
usersText.userCreatedToast
|
|
);
|
|
fetchAndVisitInviteLink(email);
|
|
};
|
|
|
|
export const defaultWorkspace = () => {
|
|
cy.get(".org-select-container").then(($title) => {
|
|
if (!$title.text().includes("My workspace")) {
|
|
cy.get(commonSelectors.workspaceName).realClick();
|
|
cy.contains("My workspace").realClick();
|
|
cy.wait(2000);
|
|
defaultWorkspace();
|
|
}
|
|
});
|
|
};
|
|
|
|
export const trunOffAllowPersonalWorkspace = () => {
|
|
cy.get(commonSelectors.settingsIcon).click();
|
|
cy.get(commonEeSelectors.instanceSettingIcon).click();
|
|
cy.get(instanceSettingsSelector.manageInstanceSettings).click();
|
|
cy.get(instanceSettingsSelector.allowWorkspaceToggle)
|
|
.eq(0)
|
|
.then(($el) => {
|
|
if ($el.is(":checked")) {
|
|
cy.get(instanceSettingsSelector.allowWorkspaceToggle).eq(0).uncheck();
|
|
cy.get(commonEeSelectors.saveButton).click();
|
|
cy.verifyToastMessage(
|
|
commonSelectors.toastMessage,
|
|
"Instance settings have been updated"
|
|
);
|
|
}
|
|
});
|
|
};
|
|
|
|
export const verifySSOSignUpPageElements = () => {
|
|
cy.get(commonSelectors.invitePageHeader).verifyVisibleElement(
|
|
"have.text",
|
|
"Join ToolJet"
|
|
);
|
|
cy.get(commonSelectors.invitePageSubHeader).verifyVisibleElement(
|
|
"have.text",
|
|
"You are invited to ToolJet."
|
|
);
|
|
cy.get(commonSelectors.userNameInputLabel).verifyVisibleElement(
|
|
"have.text",
|
|
commonText.userNameInputLabel
|
|
);
|
|
cy.get(commonSelectors.invitedUserName).should("be.visible");
|
|
cy.get(commonSelectors.emailInputLabel).verifyVisibleElement(
|
|
"have.text",
|
|
commonText.emailInputLabel
|
|
);
|
|
cy.get(commonSelectors.invitedUserEmail).should("be.visible");
|
|
cy.get(commonSelectors.acceptInviteButton).verifyVisibleElement(
|
|
"have.text",
|
|
commonText.acceptInviteButton
|
|
);
|
|
|
|
cy.get(commonSelectors.signUpTermsHelperText).should(($el) => {
|
|
expect($el.contents().first().text().trim()).to.eq(
|
|
commonText.signUpTermsHelperText
|
|
);
|
|
});
|
|
cy.get(commonSelectors.termsOfServiceLink)
|
|
.verifyVisibleElement("have.text", commonText.termsOfServiceLink)
|
|
.and("have.attr", "href")
|
|
.and("equal", "https://www.tooljet.com/terms");
|
|
cy.get(commonSelectors.privacyPolicyLink)
|
|
.verifyVisibleElement("have.text", commonText.privacyPolicyLink)
|
|
.and("have.attr", "href")
|
|
.and("equal", "https://www.tooljet.com/privacy");
|
|
};
|
|
|
|
export const VerifyWorkspaceInvitePageElements = () => {
|
|
cy.get(commonSelectors.invitePageHeader).verifyVisibleElement(
|
|
"have.text",
|
|
commonText.invitePageHeader
|
|
);
|
|
cy.get(commonSelectors.invitePageSubHeader).verifyVisibleElement(
|
|
"have.text",
|
|
commonText.invitePageSubHeader
|
|
);
|
|
cy.verifyLabel(commonText.userNameInputLabel);
|
|
cy.get(commonSelectors.invitedUserName).should("be.visible");
|
|
cy.verifyLabel(commonText.emailInputLabel);
|
|
cy.get(commonSelectors.invitedUserEmail).should("be.visible");
|
|
cy.get(commonSelectors.acceptInviteButton).verifyVisibleElement(
|
|
"have.text",
|
|
commonText.acceptInviteButton
|
|
);
|
|
|
|
cy.get(commonSelectors.signUpTermsHelperText).should(($el) => {
|
|
expect($el.contents().first().text().trim()).to.eq(
|
|
commonText.signUpTermsHelperText
|
|
);
|
|
});
|
|
cy.get(commonSelectors.termsOfServiceLink)
|
|
.verifyVisibleElement("have.text", commonText.termsOfServiceLink)
|
|
.and("have.attr", "href")
|
|
.and("equal", "https://www.tooljet.com/terms");
|
|
cy.get(commonSelectors.privacyPolicyLink)
|
|
.verifyVisibleElement("have.text", commonText.privacyPolicyLink)
|
|
.and("have.attr", "href")
|
|
.and("equal", "https://www.tooljet.com/privacy");
|
|
|
|
cy.get("body").then(($el) => {
|
|
if ($el.text().includes("Google")) {
|
|
cy.get(ssoSelector.googleSSOText).verifyVisibleElement(
|
|
"have.text",
|
|
ssoText.googleSignUpText
|
|
);
|
|
cy.get(ssoSelector.gitSSOText).verifyVisibleElement(
|
|
"have.text",
|
|
ssoText.gitSignUpText
|
|
);
|
|
cy.get(commonSelectors.onboardingSeperator).should("be.visible");
|
|
}
|
|
});
|
|
};
|
|
|
|
export const WorkspaceInvitationLink = (email) => {
|
|
let invitationToken,
|
|
organizationToken,
|
|
workspaceId,
|
|
userId,
|
|
url = "";
|
|
cy.task("dbConnection", {
|
|
dbconfig: Cypress.env("app_db"),
|
|
sql: `select invitation_token from users where email='${email}';`,
|
|
}).then((resp) => {
|
|
invitationToken = resp.rows[0].invitation_token;
|
|
|
|
cy.task("dbConnection", {
|
|
dbconfig: Cypress.env("app_db"),
|
|
sql: "select id from organizations where name='My workspace';",
|
|
}).then((resp) => {
|
|
workspaceId = resp.rows[0].id;
|
|
|
|
cy.task("dbConnection", {
|
|
dbconfig: Cypress.env("app_db"),
|
|
sql: `select id from users where email='${email}';`,
|
|
}).then((resp) => {
|
|
userId = resp.rows[0].id;
|
|
|
|
cy.task("dbConnection", {
|
|
dbconfig: Cypress.env("app_db"),
|
|
sql: `select invitation_token from organization_users where user_id='${userId}';`,
|
|
}).then((resp) => {
|
|
organizationToken = resp.rows[0].invitation_token;
|
|
|
|
url = `/invitations/${invitationToken}/workspaces/${organizationToken}?oid=${workspaceId}`;
|
|
common.logout();
|
|
cy.visit(url);
|
|
});
|
|
});
|
|
});
|
|
});
|
|
};
|
|
|
|
export const enableDefaultSSO = () => {
|
|
common.navigateToManageSSO();
|
|
cy.get("body").then(($el) => {
|
|
if (!$el.text().includes("Allowed domains")) {
|
|
cy.get(ssoSelector.generalSettingsElements.generalSettings).click();
|
|
}
|
|
});
|
|
cy.get(ssoSelector.allowDefaultSSOToggle).then(($el) => {
|
|
if (!$el.is(":checked")) {
|
|
cy.get(ssoSelector.allowDefaultSSOToggle).check();
|
|
cy.get(ssoSelector.saveButton).click();
|
|
cy.verifyToastMessage(commonSelectors.toastMessage, ssoText.ssoToast);
|
|
}
|
|
});
|
|
};
|
|
|
|
export const disableSSO = (ssoSelector, toggleSelector) => {
|
|
cy.wait(1000);
|
|
cy.get(ssoSelector).click();
|
|
cy.get(toggleSelector).then(($el) => {
|
|
if ($el.is(":checked")) {
|
|
cy.get(toggleSelector).uncheck();
|
|
}
|
|
});
|
|
};
|
|
|
|
export const AddDataSourceToGroup = (groupName, dsName) => {
|
|
common.navigateToManageGroups();
|
|
cy.get(groupsSelector.groupLink(groupName)).click();
|
|
cy.get(eeGroupsSelector.datasourceLink).click();
|
|
cy.wait(500);
|
|
cy.get(
|
|
'[data-cy="datasource-select-search"] >> .rmsc > .dropdown-container > .dropdown-heading > .dropdown-heading-value > .gray'
|
|
).click();
|
|
cy.contains(dsName).realClick();
|
|
|
|
cy.get(eeGroupsSelector.AddDsButton).click();
|
|
cy.verifyToastMessage(
|
|
commonSelectors.toastMessage,
|
|
"Datasources added to the group"
|
|
);
|
|
};
|
|
|
|
export const enableToggle = (toggleSelector) => {
|
|
cy.get(toggleSelector).then(($el) => {
|
|
if (!$el.is(":checked")) {
|
|
cy.get(toggleSelector).check();
|
|
}
|
|
});
|
|
};
|
|
|
|
export const disableToggle = (toggleSelector) => {
|
|
cy.get(toggleSelector).then(($el) => {
|
|
if ($el.is(":checked")) {
|
|
cy.get(toggleSelector).uncheck();
|
|
}
|
|
});
|
|
};
|
|
|
|
export const verifyPromoteModalUI = (versionName, currEnv, targetEnv) => {
|
|
cy.get(commonEeSelectors.promoteButton)
|
|
.verifyVisibleElement("have.text", " Promote ")
|
|
.click();
|
|
cy.get(commonEeSelectors.modalTitle).verifyVisibleElement(
|
|
"have.text",
|
|
`Promote ${versionName}`
|
|
);
|
|
cy.get(commonSelectors.closeButton).should("be.visible");
|
|
cy.get(multiEnvSelector.fromLabel).verifyVisibleElement("have.text", "FROM");
|
|
cy.get(multiEnvSelector.toLabel).verifyVisibleElement("have.text", "TO");
|
|
cy.get(multiEnvSelector.currEnvName).verifyVisibleElement(
|
|
"have.text",
|
|
currEnv
|
|
);
|
|
cy.get('[data-cy="target-env-name"]').verifyVisibleElement(
|
|
"have.text",
|
|
targetEnv
|
|
);
|
|
cy.get('[data-cy="cancel-button"]').verifyVisibleElement(
|
|
"have.text",
|
|
"Cancel"
|
|
);
|
|
cy.get(commonEeSelectors.promoteButton)
|
|
.eq(1)
|
|
.verifyVisibleElement("have.text", "Promote ");
|
|
};
|
|
|
|
export const resetPassword = (email) => {
|
|
cy.visit("/");
|
|
cy.get(commonSelectors.forgotPasswordLink).click();
|
|
cy.clearAndType(commonSelectors.emailInputField, email);
|
|
cy.get(commonSelectors.resetPasswordLinkButton).click();
|
|
|
|
cy.task("dbConnection", {
|
|
dbconfig: Cypress.env("app_db"),
|
|
sql: `select forgot_password_token from users where email='${email}';`,
|
|
}).then((resp) => {
|
|
const passwordResetLink = `/reset-password/${resp.rows[0].forgot_password_token}`;
|
|
cy.visit(passwordResetLink);
|
|
});
|
|
cy.wait(500);
|
|
|
|
cy.clearAndType(commonSelectors.newPasswordInputField, "Password");
|
|
cy.clearAndType(commonSelectors.confirmPasswordInputField, "Password");
|
|
cy.wait(4000);
|
|
cy.get(commonSelectors.resetPasswordButton).click();
|
|
cy.get(commonSelectors.backToLoginButton).click();
|
|
};
|
|
|
|
export const verifyTooltipDisabled = (selector, message) => {
|
|
cy.get(selector)
|
|
.trigger("mouseover", { force: true })
|
|
.then(() => {
|
|
cy.get(".tooltip-inner").last().should("have.text", message);
|
|
});
|
|
};
|
|
|
|
export const createAnAppWithSlug = (appName, slug) => {
|
|
cy.apiCreateApp(appName);
|
|
cy.openApp();
|
|
cy.dragAndDropWidget("Table", 250, 250);
|
|
appPromote("development", "release");
|
|
cy.get(commonWidgetSelector.shareAppButton).click();
|
|
cy.clearAndType(commonWidgetSelector.appNameSlugInput, `${slug}`);
|
|
cy.wait(2000);
|
|
cy.get(commonWidgetSelector.modalCloseButton).click();
|
|
};
|
|
|
|
|
|
export const openInstanceSettings = () => {
|
|
cy.get(commonSelectors.settingsIcon).click();
|
|
cy.get(commonEeSelectors.instanceSettingIcon).click();
|
|
};
|
|
|
|
export const openUserActionMenu = (email) => {
|
|
cy.clearAndType(commonSelectors.inputUserSearch, email);
|
|
cy.wait(1000);
|
|
cy.get('[data-cy="user-actions-button"]').eq(0).click();
|
|
cy.wait(2000);
|
|
};
|
|
|
|
export const archiveWorkspace = (workspaceName) => {
|
|
cy.get(instanceSettingsSelector.allWorkspaceTab).click();
|
|
cy.clearAndType(commonEeSelectors.searchBar, workspaceName);
|
|
cy.get(workspaceSelector.workspaceStatusChange).eq(0).click();
|
|
cy.get(commonEeSelectors.confirmButton).click();
|
|
};
|
|
|
|
export const passwordToggle = (enable) => {
|
|
cy.getCookie("tj_auth_token").then((cookie) => {
|
|
cy.request(
|
|
{
|
|
method: "PATCH",
|
|
url: "http://localhost:3000/api/organizations/configs",
|
|
headers: {
|
|
"Tj-Workspace-Id": Cypress.env("workspaceId"),
|
|
Cookie: `tj_auth_token=${cookie.value}`,
|
|
},
|
|
body: { type: "form", enabled: enable },
|
|
},
|
|
{ log: false }
|
|
).then((response) => {
|
|
expect(response.status).to.equal(200);
|
|
});
|
|
});
|
|
};
|
|
|
|
export const InstanceSSO = (personalWorkspace, enableSignup, workspaceSSO) => {
|
|
allowPersonalWorkspace(personalWorkspace);
|
|
|
|
cy.task("dbConnection", {
|
|
dbconfig: Cypress.env("app_db"),
|
|
sql: `UPDATE instance_settings SET value = '${enableSignup}' WHERE key = 'ENABLE_SIGNUP';UPDATE instance_settings SET value = '${workspaceSSO}' WHERE key = 'ENABLE_WORKSPACE_LOGIN_CONFIGURATION';`,
|
|
});
|
|
};
|
|
|
|
export const resetInstanceDomain = () => {
|
|
cy.getCookie("tj_auth_token").then((cookie) => {
|
|
cy.request(
|
|
{
|
|
method: "PATCH",
|
|
url: "http://localhost:3000/api/instance-login-configs",
|
|
headers: {
|
|
"Tj-Workspace-Id": Cypress.env("workspaceId"),
|
|
Cookie: `tj_auth_token=${cookie.value}`,
|
|
},
|
|
body: { allowedDomains: "" },
|
|
},
|
|
{ log: false }
|
|
).then((response) => {
|
|
expect(response.status).to.equal(200);
|
|
});
|
|
});
|
|
};
|
|
|
|
export const instanceSSOConfig = (allow = true) => {
|
|
const value = allow ? "true" : "false";
|
|
|
|
cy.task("dbConnection", {
|
|
dbconfig: Cypress.env("app_db"),
|
|
sql: `UPDATE sso_configs SET enabled = ${allow} WHERE sso IN ('google', 'git', 'openid')AND organization_id IS NULL;`,
|
|
});
|
|
};
|
|
|
|
export const updateInstanceSettings = (key, value) => {
|
|
cy.task("updateSetting", {
|
|
dbconfig: Cypress.env("app_db"),
|
|
sql: `UPDATE instance_settings SET value = ${value} WHERE key = ${key};`,
|
|
});
|
|
};
|
|
|
|
|
|
export const updateLicense = (keyType = 'valid') => {
|
|
const query = Cypress.env('queries').updateLicense.replace(
|
|
'%KEY%',
|
|
Cypress.env('license_keys')[keyType]
|
|
);
|
|
|
|
cy.task("dbConnection", {
|
|
dbconfig: Cypress.env("app_db"),
|
|
sql: query
|
|
});
|
|
}; |