From 4379d83eb4592e943a3b6884bca973a1f6ff7005 Mon Sep 17 00:00:00 2001 From: Sagar Khalasi Date: Thu, 2 Jan 2025 19:20:44 +0530 Subject: [PATCH 1/2] branding inital commit --- .../AdminSettings/Branding_settings_Spec.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 app/client/cypress/e2e/Regression/ClientSide/AdminSettings/Branding_settings_Spec.ts diff --git a/app/client/cypress/e2e/Regression/ClientSide/AdminSettings/Branding_settings_Spec.ts b/app/client/cypress/e2e/Regression/ClientSide/AdminSettings/Branding_settings_Spec.ts new file mode 100644 index 000000000000..8982f0a6377d --- /dev/null +++ b/app/client/cypress/e2e/Regression/ClientSide/AdminSettings/Branding_settings_Spec.ts @@ -0,0 +1,17 @@ +import { + agHelper, + adminSettings, +} from "../../../../support/Objects/ObjectsCore"; +import { CURRENT_REPO, REPO } from "../../../../fixtures/REPO"; +import { featureFlagIntercept } from "../../../../support/Objects/FeatureFlags"; + +describe( + "Admin Branding Page - Branding page validations", + { tags: ["@tag.Settings"] }, + () => { + it("1. Verify branding data update for community user", () => { + featureFlagIntercept({ license_branding_enabled: true }); + adminSettings.NavigateToAdminSettings(); + }); + }, +); From 7e053395ee581021db07aca61543a879d3a0abbd Mon Sep 17 00:00:00 2001 From: Sagar Khalasi Date: Fri, 3 Jan 2025 10:23:43 +0530 Subject: [PATCH 2/2] Branding image related test case --- .../AdminSettings/Branding_settings_Spec.ts | 97 +++++++++++++++++- .../fixtures/appsmith-community-logo.svg | 13 +++ .../cypress/fixtures/branding_sample.png | Bin 0 -> 97 bytes .../cypress/fixtures/branding_sampleICO.ico | Bin 0 -> 320 bytes .../cypress/fixtures/branding_samplejpg.jpg | Bin 0 -> 645 bytes app/client/cypress/locators/AdminsSettings.js | 23 +++++ 6 files changed, 130 insertions(+), 3 deletions(-) create mode 100644 app/client/cypress/fixtures/appsmith-community-logo.svg create mode 100644 app/client/cypress/fixtures/branding_sample.png create mode 100644 app/client/cypress/fixtures/branding_sampleICO.ico create mode 100644 app/client/cypress/fixtures/branding_samplejpg.jpg diff --git a/app/client/cypress/e2e/Regression/ClientSide/AdminSettings/Branding_settings_Spec.ts b/app/client/cypress/e2e/Regression/ClientSide/AdminSettings/Branding_settings_Spec.ts index 8982f0a6377d..dfb61e890cf2 100644 --- a/app/client/cypress/e2e/Regression/ClientSide/AdminSettings/Branding_settings_Spec.ts +++ b/app/client/cypress/e2e/Regression/ClientSide/AdminSettings/Branding_settings_Spec.ts @@ -1,17 +1,108 @@ import { agHelper, adminSettings, + locators, } from "../../../../support/Objects/ObjectsCore"; -import { CURRENT_REPO, REPO } from "../../../../fixtures/REPO"; -import { featureFlagIntercept } from "../../../../support/Objects/FeatureFlags"; +import AdminsSettings from "../../../../locators/AdminsSettings"; describe( "Admin Branding Page - Branding page validations", { tags: ["@tag.Settings"] }, () => { it("1. Verify branding data update for community user", () => { - featureFlagIntercept({ license_branding_enabled: true }); 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); }); }, ); diff --git a/app/client/cypress/fixtures/appsmith-community-logo.svg b/app/client/cypress/fixtures/appsmith-community-logo.svg new file mode 100644 index 000000000000..d15878da9ffa --- /dev/null +++ b/app/client/cypress/fixtures/appsmith-community-logo.svg @@ -0,0 +1,13 @@ + + + + + + + + + COMMUNITY + \ No newline at end of file diff --git a/app/client/cypress/fixtures/branding_sample.png b/app/client/cypress/fixtures/branding_sample.png new file mode 100644 index 0000000000000000000000000000000000000000..b5e8e02c8700a7edc2c5ff726c17424216c17522 GIT binary patch literal 97 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={WG(24#Ln`LHJ!{Cwz`$|X;K2TL ngM<4*94<%SRQtmYQ~&|_vWt%}+IJ@?TY>nVu6{1-oD!Mr34 literal 0 HcmV?d00001 diff --git a/app/client/cypress/fixtures/branding_sampleICO.ico b/app/client/cypress/fixtures/branding_sampleICO.ico new file mode 100644 index 0000000000000000000000000000000000000000..4b47ac6e45985f89d57006877258e04a328ca381 GIT binary patch literal 320 zcmZQzU}Rus5D;Jh0tJQuAZZ4~5)u%8B#>$YVg&^VKM_dX2jb2EKX+a(DJ~$B*VDr# z2uOoW5a3_}k`pFofXop0ba4!+n3MeHyn|GNQsCbeZGpVb9?T35dW`aEkKKxaN*Fv{ z{an^LB{X3%599&~uzC5StJVWK3JCLL54flnyYWhyW?Wei*bHKH04=Uw#i(B$`eQKx zgB3t#ferp6@fM_517h&ovxbZe3>=3I4(v}iIJhsw;d1m%wLk12)4(8KcJUEL`|bo~ JD-ajvasZ$@Mi>A9 literal 0 HcmV?d00001 diff --git a/app/client/cypress/fixtures/branding_samplejpg.jpg b/app/client/cypress/fixtures/branding_samplejpg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9a0de0af656dd666ee70dfd7b2ed16dd20a16cc9 GIT binary patch literal 645 zcmex=^(PF6}rMnOeST|r4lSw=>~TvNxu(8R<c1}I=;VrF4wW9Q)H;sz?% zD!{d!pzFb!U9xX3zTPI5o8roG<0MW4oqZMDikqloVbuf*=gfJ(V&YTRE(2~ znmD<{#3dx9RMpfqG__1j&CD$#!=o3Ax_(anF0iOeg8_<}|K9`v*JISr literal 0 HcmV?d00001 diff --git a/app/client/cypress/locators/AdminsSettings.js b/app/client/cypress/locators/AdminsSettings.js index fab7f3a511d3..a93d245b98a8 100644 --- a/app/client/cypress/locators/AdminsSettings.js +++ b/app/client/cypress/locators/AdminsSettings.js @@ -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']", + 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']", };