PromucFlow_constructor/app/client/cypress/locators/AdminsSettings.js
Sagar Khalasi caf441072d
test: Admin setting new test cases with email (#38522)
## Description
New cypress test case for admin setting


Fixes #
https://app.zenhub.com/workspaces/stability-pod-6690c4814e31602e25cab7fd/issues/gh/appsmithorg/appsmith/38459

## Automation

/ok-to-test tags="@tag.Email"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/13051349222>
> Commit: bf21450dc53423e7a001ae0591681c8b8b488b66
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13051349222&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Email`
> Spec:
> <hr>Thu, 30 Jan 2025 11:51:05 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **Tests**
- Added comprehensive Cypress end-to-end tests for email settings
functionality.
	- Implemented tests for:
		- Adding new admin users
		- SMTP configuration
		- Password reset email verification
		- Workspace invitation emails

- **Locators**
	- Added new locators for SMTP settings and email-related UI elements.
	- Introduced password recovery link locator.

- **Improvements**
	- Enhanced email verification method in test support utilities.
	- Updated request header handling for more dynamic configuration.
- Introduced a new method to wait for specific emails based on subject
and recipient.
	- Expanded tagging functionality to include a new email-related tag.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-01-30 17:25:07 +05:30

82 lines
4.4 KiB
JavaScript

export default {
Tabs: ".t--settings-category-list",
generalTab: ".t--settings-category-general",
advancedTab: ".t--settings-category-advanced",
authenticationTab: ".t--settings-category-authentication",
emailTab: ".t--settings-category-email",
developerSettingsTab: ".t--settings-category-developer-settings",
googleButton: ".t--settings-sub-category-google-auth",
githubButton: ".t--settings-sub-category-github-auth",
formloginButton: ".t--settings-sub-category-form-login",
readMoreLink: ".t--read-more-link",
versionTab: ".t--settings-category-version",
backButton: ".t--admin-settings-back-button",
saveButton: ".t--admin-settings-save-button",
resetButton: ".t--admin-settings-reset-button",
textInput: ".t--admin-settings-text-input input",
instanceName: ".t--admin-settings-instanceName input",
adminEmails: ".t--admin-settings-APPSMITH_ADMIN_EMAILS input",
fromAddress: ".t--admin-settings-APPSMITH_MAIL_FROM input",
restartNotice: ".t--admin-settings-restart-notice",
appsmithStarting: "p:contains('Appsmith is starting')",
appsmithLogo: ".t--appsmith-logo",
appsmithHeader: "[data-testid='t--appsmith-page-header']",
loginWithGoogle: "[data-testid='login-with-Google']",
loginWithGithub: "[data-testid='login-with-Github']",
disconnectBtn: "[data-testid='disconnect-service-button']",
formSignupDisabled: "[data-testid='APPSMITH_SIGNUP_DISABLED']",
formLoginDisabled: "[data-testid='APPSMITH_FORM_LOGIN_DISABLED']",
embedSettings: ".t--admin-settings-APPSMITH_ALLOWED_FRAME_ANCESTORS",
upgrade: "[data-testid='t--button-upgrade']",
accessControl: ".t--settings-category-access-control",
auditLogs: ".t--settings-category-audit-logs",
provisioning: ".t--settings-category-provisioning",
upgrageLeftPane: "[data-testid='t--enterprise-settings-category-item-be']",
branding: ".t--settings-category-branding",
brandingSubmitButton: ".t--settings-branding-submit-button",
businessTag: "[data-testid='t--business-tag']",
enterpriseTag: "[data-testid='t--enterprise-tag']",
enableEmailVerificationInput: "[data-testid='emailVerificationEnabled']",
adminSettingsCallout: "[data-testid='admin-settings-group-link']",
hideWatermarkWrapper: ".t--admin-settings-hideWatermark",
hideWatermarkInput: "[data-testid='hideWatermark']",
showRolesAndGroupsWrapper: ".t--admin-settings-showRolesAndGroups",
showRolesAndGroupsInput: "[data-testid='showRolesAndGroups']",
singleSessionPerUserWrapper: ".t--admin-settings-singleSessionPerUserEnabled",
singleSessionPerUserInput: "[data-testid='singleSessionPerUserEnabled']",
sessionTimeoutWrapper: ".t--admin-settings-userSessionTimeoutInMinutes",
sessionTimeoutInput: "[name='userSessionTimeoutInMinutes']",
adminEmailsData: ".t--admin-settings-APPSMITH_ADMIN_EMAILS span > span",
LeftPaneBrandingLink: ".t--settings-category-branding",
AdminSettingsColorInput: ".t--settings-brand-color-input input[type=text]",
AdmingSettingsLogoInput: ".t--settings-brand-logo-input input[type=file]",
AdmingSettingsLogoInputImage: ".t--settings-brand-logo-input img",
AdmingSettingsFaviconInput:
".t--settings-brand-favicon-input input[type=file]",
AdmingSettingsFaviconInputImage: ".t--settings-brand-favicon-input img",
BrandingBg: ".t--branding-bg",
BrandingLogo: ".t--branding-logo",
BrandingFavicon: "img.t--branding-favicon",
BrandingFaviconHead: "link.t--branding-favicon",
dashboardAppTab: ".t--apps-tab",
createNewAppButton: ".t--new-button",
loginContainer: ".t--login-container",
signupLink: ".t--signup-link",
authContainer: ".t--auth-container",
submitButton: "button[type='submit']",
appsmithLogo: ".t--appsmith-logo",
appsmithLogoImg: ".t--appsmith-logo img",
AdminSettingsColorInputShades: ".t--color-input-shades",
businessTag: ".business-tag",
upgradeBanner: ".upgrade-banner",
upgradeButton: "[data-testid='t--button-upgrade']",
smtpAppsmithMailHostInput: "[name='APPSMITH_MAIL_HOST']",
smtpAppsmithMailPortInput: "[name='APPSMITH_MAIL_PORT']",
smtpAppsmithMailFromInput: "[name='APPSMITH_MAIL_FROM']",
smtpAppsmithMailReplyToInput: "[name='APPSMITH_REPLY_TO']",
smtpAppsmithMailUserNameInput: "[name='APPSMITH_MAIL_USERNAME']",
smtpAppsmithMailPasswordInput: "[name='APPSMITH_MAIL_PASSWORD']",
smtpAppsmithMailTestButton: "[data-testid='admin-settings-button']",
addEmailGhostInput: "[data-testid='admin-settings-tag-input'] .bp3-input-ghost",
};