Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
import {
agHelper,
adminSettings,
locators,
} from "../../../../support/Objects/ObjectsCore";
import AdminsSettings from "../../../../locators/AdminsSettings";

describe(
"Admin Branding Page - Branding page validations",
{ tags: ["@tag.Settings"] },
() => {
it("1. Verify branding data update for community user", () => {
adminSettings.NavigateToAdminSettings();
agHelper.AssertElementVisibility(AdminsSettings.LeftPaneBrandingLink);
agHelper.GetNClick(AdminsSettings.LeftPaneBrandingLink);

// branding logo PNG
cy.get(AdminsSettings.AdmingSettingsLogoInput).selectFile(
"cypress/fixtures/appsmithlogo.png",
{ force: true },
);
agHelper.AssertElementAbsence(locators._toastMsg);
agHelper.AssertElementVisibility(
AdminsSettings.AdmingSettingsLogoInputImage,
);
agHelper.WaitForCondition(() => {
cy.get(AdminsSettings.BrandingLogo)
.invoke("attr", "src")
.then((src) => {
cy.get(AdminsSettings.AdmingSettingsLogoInputImage)
.invoke("attr", "src")
.should("equal", src);
});
});

// branding logo jpg
cy.get(AdminsSettings.AdmingSettingsLogoInput).selectFile(
"cypress/fixtures/AAAFlowerVase.jpeg",
{ force: true },
);
agHelper.AssertElementAbsence(locators._toastMsg);
agHelper.AssertElementVisibility(
AdminsSettings.AdmingSettingsLogoInputImage,
);
agHelper.WaitForCondition(() => {
cy.get(AdminsSettings.BrandingLogo)
.invoke("attr", "src")
.then((src) => {
cy.get(AdminsSettings.AdmingSettingsLogoInputImage)
.invoke("attr", "src")
.should("equal", src);
});
});

// branding logo svg
// comment due to bug: https://github.com/appsmithorg/appsmith/issues/34329
// cy.get(AdminsSettings.AdmingSettingsLogoInput).selectFile(
// "cypress/fixtures/appsmith-community-logo.svg",
// { force: true },
// );
// agHelper.AssertElementAbsence(locators._toastMsg);

// agHelper.AssertElementVisibility(
// AdminsSettings.AdmingSettingsLogoInputImage,
// );
// agHelper.WaitForCondition(() => {
// cy.get(AdminsSettings.BrandingLogo)
// .invoke("attr", "src")
// .then((src) => {
// cy.get(AdminsSettings.AdmingSettingsLogoInputImage)
// .invoke("attr", "src")
// .should("equal", src);
// });
// });

// branding favicon png
cy.get(AdminsSettings.AdmingSettingsFaviconInput).selectFile(
"cypress/fixtures/branding_sample.png",
{ force: true },
);
agHelper.AssertElementAbsence(locators._toastMsg);
agHelper.AssertElementVisibility(
AdminsSettings.AdmingSettingsFaviconInputImage,
);
cy.get(AdminsSettings.BrandingFavicon)
.invoke("attr", "src")
.then((src) => {
cy.get(AdminsSettings.AdmingSettingsFaviconInputImage)
.invoke("attr", "src")
.should("equal", src);
});

// branding favicon jpg
cy.get(AdminsSettings.AdmingSettingsFaviconInput).selectFile(
"cypress/fixtures/branding_samplejpg.jpg",
{ force: true },
);
agHelper.AssertElementAbsence(locators._toastMsg);

// branding favicon ico
cy.get(AdminsSettings.AdmingSettingsFaviconInput).selectFile(
"cypress/fixtures/branding_sampleICO.ico",
{ force: true },
);
agHelper.AssertElementAbsence(locators._toastMsg);
});
},
);
13 changes: 13 additions & 0 deletions app/client/cypress/fixtures/appsmith-community-logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/client/cypress/fixtures/branding_sample.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/client/cypress/fixtures/branding_sampleICO.ico
Binary file not shown.
Binary file added app/client/cypress/fixtures/branding_samplejpg.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
23 changes: 23 additions & 0 deletions app/client/cypress/locators/AdminsSettings.js
Original file line number Diff line number Diff line change
Expand Up @@ -47,4 +47,27 @@ export default {
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']",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Avoid using button[type='submit'] as a selector.

According to the guidelines, please replace this with a data-* based attribute to ensure robust and maintainable selectors.

- submitButton: "button[type='submit']",
+ submitButton: "[data-testid='t--submit-button']",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
submitButton: "button[type='submit']",
submitButton: "[data-testid='t--submit-button']",

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']",
};