From 87e6059fb0e0bb9773d3528ca9e4bf810564f0fe Mon Sep 17 00:00:00 2001 From: "ankitatripathi.mp@gmail.com" Date: Sun, 18 Jan 2026 22:32:03 +0530 Subject: [PATCH 1/4] fix: handle undefined and empty domain values in HRD screen (#2526) --- .../__snapshots__/hrd_screen.test.js.snap | 87 +++++++++++++++++++ .../connection/enterprise/hrd_screen.test.js | 40 +++++++++ src/connection/enterprise/hrd_screen.jsx | 2 +- 3 files changed, 128 insertions(+), 1 deletion(-) diff --git a/src/__tests__/connection/enterprise/__snapshots__/hrd_screen.test.js.snap b/src/__tests__/connection/enterprise/__snapshots__/hrd_screen.test.js.snap index 1bee2f3b4..0ca92abfb 100644 --- a/src/__tests__/connection/enterprise/__snapshots__/hrd_screen.test.js.snap +++ b/src/__tests__/connection/enterprise/__snapshots__/hrd_screen.test.js.snap @@ -1,5 +1,34 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`HRDScreen Component renders correctly when enterprise domain is undefined 1`] = ` +
+ Login with your corporate credentials. [] +

+ } + data-i18n={ + { + "str": [Function], + } + } + data-model={ + Immutable.Map { + "id": "__lock-id__", + "i18n": Immutable.Map { + "strings": Immutable.Map { + "enterpriseLoginIntructions": "Login with your corporate credentials.", + "enterpriseActiveLoginInstructions": "Please enter your corporate credentials at %s.", + }, + }, + } + } + data-passwordInputPlaceholder=" []" + data-usernameInputPlaceholder=" []" +/> +`; + exports[`HRDScreen Component renders correctly when there is an enterprise domain 1`] = `
`; + +exports[`HRDScreen Component uses fallback message when enterprise domain is empty string 1`] = ` +
+ Login with your corporate credentials. [] +

+ } + data-i18n={ + { + "str": [Function], + } + } + data-model={ + Immutable.Map { + "id": "__lock-id__", + "i18n": Immutable.Map { + "strings": Immutable.Map { + "enterpriseLoginIntructions": "Login with your corporate credentials.", + "enterpriseActiveLoginInstructions": "Please enter your corporate credentials at %s.", + }, + }, + } + } + data-passwordInputPlaceholder=" []" + data-usernameInputPlaceholder=" []" +/> +`; + +exports[`HRDScreen Component uses fallback message when enterprise domain is whitespace only 1`] = ` +
+ Login with your corporate credentials. [] +

+ } + data-i18n={ + { + "str": [Function], + } + } + data-model={ + Immutable.Map { + "id": "__lock-id__", + "i18n": Immutable.Map { + "strings": Immutable.Map { + "enterpriseLoginIntructions": "Login with your corporate credentials.", + "enterpriseActiveLoginInstructions": "Please enter your corporate credentials at %s.", + }, + }, + } + } + data-passwordInputPlaceholder=" []" + data-usernameInputPlaceholder=" []" +/> +`; diff --git a/src/__tests__/connection/enterprise/hrd_screen.test.js b/src/__tests__/connection/enterprise/hrd_screen.test.js index 00c1ea18f..d64e4f301 100644 --- a/src/__tests__/connection/enterprise/hrd_screen.test.js +++ b/src/__tests__/connection/enterprise/hrd_screen.test.js @@ -49,4 +49,44 @@ describe('HRDScreen Component', () => { const Component = getComponent(); expectComponent().toMatchSnapshot(); }); + + it('renders correctly when enterprise domain is undefined', () => { + require('connection/enterprise').enterpriseDomain.mockImplementation(() => undefined); + const Component = getComponent(); + expectComponent().toMatchSnapshot(); + }); + + it('does not show "undefined" in message when enterprise domain is undefined', () => { + require('connection/enterprise').enterpriseDomain.mockImplementation(() => undefined); + const Component = getComponent(); + const { str } = i18nProp; + + // Should use the fallback message without domain placeholder + const expectedMessage = str('enterpriseLoginIntructions'); + expect(expectedMessage).toContain('Login with your corporate credentials.'); + expect(expectedMessage).not.toContain('undefined'); + }); + + it('does not show "undefined" in message when enterprise domain is null', () => { + require('connection/enterprise').enterpriseDomain.mockImplementation(() => null); + const Component = getComponent(); + const { str } = i18nProp; + + // Should use the fallback message without domain placeholder + const expectedMessage = str('enterpriseLoginIntructions'); + expect(expectedMessage).toContain('Login with your corporate credentials.'); + expect(expectedMessage).not.toContain('undefined'); + }); + + it('uses fallback message when enterprise domain is empty string', () => { + require('connection/enterprise').enterpriseDomain.mockImplementation(() => ''); + const Component = getComponent(); + expectComponent().toMatchSnapshot(); + }); + + it('uses fallback message when enterprise domain is whitespace only', () => { + require('connection/enterprise').enterpriseDomain.mockImplementation(() => ' '); + const Component = getComponent(); + expectComponent().toMatchSnapshot(); + }); }); diff --git a/src/connection/enterprise/hrd_screen.jsx b/src/connection/enterprise/hrd_screen.jsx index 2eeb09b32..2a6df2ab2 100644 --- a/src/connection/enterprise/hrd_screen.jsx +++ b/src/connection/enterprise/hrd_screen.jsx @@ -11,7 +11,7 @@ const Component = ({ i18n, model }) => { var headerText; - if (domain !== null) { + if (domain && domain.trim()) { headerText = i18n.str('enterpriseActiveLoginInstructions', domain); } else { headerText = i18n.str('enterpriseLoginIntructions'); From 2a343c49d6f36daf0bc0b71e87dc965c6cbfd575 Mon Sep 17 00:00:00 2001 From: Ankita Tripathi <51994119+ankita10119@users.noreply.github.com> Date: Tue, 20 Jan 2026 16:52:27 +0530 Subject: [PATCH 2/4] Potential fix for code scanning alert no. 504: Unused variable, import, function or class Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> --- src/__tests__/connection/enterprise/hrd_screen.test.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/__tests__/connection/enterprise/hrd_screen.test.js b/src/__tests__/connection/enterprise/hrd_screen.test.js index d64e4f301..c9a22159d 100644 --- a/src/__tests__/connection/enterprise/hrd_screen.test.js +++ b/src/__tests__/connection/enterprise/hrd_screen.test.js @@ -58,7 +58,6 @@ describe('HRDScreen Component', () => { it('does not show "undefined" in message when enterprise domain is undefined', () => { require('connection/enterprise').enterpriseDomain.mockImplementation(() => undefined); - const Component = getComponent(); const { str } = i18nProp; // Should use the fallback message without domain placeholder From 019dd50c19a9f1669d7fcd1cfc58357ebe162750 Mon Sep 17 00:00:00 2001 From: Ankita Tripathi <51994119+ankita10119@users.noreply.github.com> Date: Tue, 20 Jan 2026 16:52:37 +0530 Subject: [PATCH 3/4] Potential fix for code scanning alert no. 505: Unused variable, import, function or class Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> --- src/__tests__/connection/enterprise/hrd_screen.test.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/__tests__/connection/enterprise/hrd_screen.test.js b/src/__tests__/connection/enterprise/hrd_screen.test.js index c9a22159d..112328438 100644 --- a/src/__tests__/connection/enterprise/hrd_screen.test.js +++ b/src/__tests__/connection/enterprise/hrd_screen.test.js @@ -69,7 +69,6 @@ describe('HRDScreen Component', () => { it('does not show "undefined" in message when enterprise domain is null', () => { require('connection/enterprise').enterpriseDomain.mockImplementation(() => null); const Component = getComponent(); - const { str } = i18nProp; // Should use the fallback message without domain placeholder const expectedMessage = str('enterpriseLoginIntructions'); From bfe77ff3a538288ea936fe102316bb102793fd44 Mon Sep 17 00:00:00 2001 From: "ankitatripathi.mp@gmail.com" Date: Tue, 20 Jan 2026 17:42:32 +0530 Subject: [PATCH 4/4] fix: unit test case --- src/__tests__/connection/enterprise/hrd_screen.test.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/__tests__/connection/enterprise/hrd_screen.test.js b/src/__tests__/connection/enterprise/hrd_screen.test.js index 112328438..592d1b295 100644 --- a/src/__tests__/connection/enterprise/hrd_screen.test.js +++ b/src/__tests__/connection/enterprise/hrd_screen.test.js @@ -67,9 +67,8 @@ describe('HRDScreen Component', () => { }); it('does not show "undefined" in message when enterprise domain is null', () => { - require('connection/enterprise').enterpriseDomain.mockImplementation(() => null); - const Component = getComponent(); - + require('connection/enterprise').enterpriseDomain.mockImplementation(() => null); + const { str } = i18nProp; // Should use the fallback message without domain placeholder const expectedMessage = str('enterpriseLoginIntructions'); expect(expectedMessage).toContain('Login with your corporate credentials.');