From b6e2cb71bbc235496fd3c050d79b3e59232aa0fb Mon Sep 17 00:00:00 2001 From: Aleksandr Gumroian Date: Thu, 20 Jan 2022 00:47:00 +0300 Subject: [PATCH] Add tests for password length validation --- .../__tests__/WiFiSettings.test.js | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/src/common/WiFiSettings/__tests__/WiFiSettings.test.js b/src/common/WiFiSettings/__tests__/WiFiSettings.test.js index 53c32ee..72d99ae 100644 --- a/src/common/WiFiSettings/__tests__/WiFiSettings.test.js +++ b/src/common/WiFiSettings/__tests__/WiFiSettings.test.js @@ -26,6 +26,7 @@ describe("", () => { let getAllByText; let getAllByLabelText; let getByText; + let getByLabelText; let asFragment; const endpoint = "/reforis/api/wifi"; @@ -41,6 +42,7 @@ describe("", () => { asFragment = renderRes.asFragment; getAllByText = renderRes.getAllByText; getAllByLabelText = renderRes.getAllByLabelText; + getByLabelText = renderRes.getByLabelText; getByText = renderRes.getByText; mockAxios.mockResponse({ data: wifiSettingsFixture() }); await wait(() => renderRes.getByText("Wi-Fi 1")); @@ -51,7 +53,6 @@ describe("", () => { const webSockets = new WebSockets(); const { getByText } = render( ", () => { it("ByteCount function", () => { expect(byteCount("abc")).toEqual(3); }); + + it("Should validate password length", () => { + const shortErrorFeedback = /Password must contain/i; + const longErrorFeedback = /Password must not contain/i; + + fireEvent.click(getByText("Wi-Fi 1")); + + const passwordInput = getByLabelText("Password"); + + const changePassword = (value) => + fireEvent.change(passwordInput, { target: { value } }); + + changePassword("12"); + expect(getByText(shortErrorFeedback)).toBeDefined(); + + changePassword( + "longpasswordlongpasswordlongpasswordlongpasswordlongpasswordlong" + ); + expect(getByText(longErrorFeedback)).toBeDefined(); + }); });