UNPKG

passbolt-styleguide

Version:

Passbolt styleguide contains common styling assets used by the different sites, plugin, etc.

1,157 lines (1,059 loc) 66.6 kB
/* eslint-disable no-unsanitized/property */ /** * Passbolt ~ Open source password manager for teams * Copyright (c) 2021 Passbolt SA (https://www.passbolt.com) * * Licensed under GNU Affero General Public License version 3 of the or any later version. * For full copyright and license information, please see the LICENSE.txt * Redistributions of files must retain the above copyright notice. * * @copyright Copyright (c) 2021 Passbolt SA (https://www.passbolt.com) * @license https://opensource.org/licenses/AGPL-3.0 AGPL License * @link https://www.passbolt.com Passbolt(tm) * @since 3.3.0 */ /** * Unit tests on InformManager in regard of specifications */ import { domElementLoginOnlyPasswordWithSubmitButton, domElementLoginWithAutocompleteAttributeEmail, domElementLoginWithAutocompleteAttributeUsername, domElementLoginWithClassCreateAccount, domElementLoginWithClassEmail, domElementLoginWithClassUsername, domElementLoginWithIdAttributeBenutzerkennung, domElementLoginWithIdAttributeBenutzername, domElementLoginWithIdAttributeEmail, domElementLoginWithIdAttributeLogin, domElementLoginWithIdAttributeLogto, domElementLoginWithIdAttributeUsername, domElementLoginWithIdAttributeUtente, domElementLoginWithNameAttributeBenutzerkennung, domElementLoginWithNameAttributeBenutzername, domElementLoginWithNameAttributeBenutzernameAndPasswordAttributePasswort, domElementLoginWithNameAttributeEmail, domElementLoginWithNameAttributeLogin, domElementLoginWithNameAttributeLogto, domElementLoginWithNameAttributeUsername, domElementLoginWithNameAttributeUtente, domElementLoginWithNoTypeAndAutocompleteAttributeEmail, domElementLoginWithNoTypeAndAutocompleteAttributeUsername, domElementLoginWithNoTypeAndClassCreateAccount, domElementLoginWithNoTypeAndClassEmail, domElementLoginWithNoTypeAndClassUsername, domElementLoginWithNoTypeAndIdAttributeBenutzerkennung, domElementLoginWithNoTypeAndIdAttributeBenutzername, domElementLoginWithNoTypeAndIdAttributeEmail, domElementLoginWithNoTypeAndIdAttributeLogin, domElementLoginWithNoTypeAndIdAttributeUsername, domElementLoginWithNoTypeAndIdAttributeUtente, domElementLoginWithNoTypeAndNameAttributeBenutzerkennung, domElementLoginWithNoTypeAndNameAttributeBenutzername, domElementLoginWithNoTypeAndNameAttributeEmail, domElementLoginWithNoTypeAndNameAttributeLogin, domElementLoginWithNoTypeAndNameAttributeUsername, domElementLoginWithNoTypeAndNameAttributeUtente, domElementLoginWithNoTypeAndPlaceHolderAttributeE_mail, domElementLoginWithNoTypeAndPlaceHolderAttributeEmail, domElementLoginWithNoTypeAndPlaceHolderAttributeUsername, domElementLoginWithPlaceHolderAttributeE_mail, domElementLoginWithPlaceHolderAttributeEmail, domElementLoginWithPlaceHolderAttributeUsername, domElementLoginWithSubmitButton, domElementOnlyPassword, domElementOnlyUsername, domElementWithMultipleLogin, domElementWithNoUsernamePassword, domGenericTextAndPassword, domMultipleUsernameCandidates, domNestedUsernamePassword, domSingleOTPField, domSingleOTPFieldWithUsernameAndPassword, domSingleOTPMultiField, domTwoEmailInputsAndPassword, domUsernameByClass, domUsernameById, domWithMultiplePasswords, initializeWindow, } from "./InformManager.test.data"; import InformManagerPage from "./InformManager.test.page"; import InFormManager from "./InFormManager"; import DomUtils from "../Dom/DomUtils"; import { act } from "react"; beforeEach(() => { jest.resetModules(); }); describe("InformManager", () => { // mock port in window initializeWindow(); beforeEach(() => { jest.clearAllMocks(); // Force to true as Jest do not provide opacity value jest.spyOn(InFormManager, "isPageNotVisible").mockImplementation(() => false); Element.prototype.getAnimations = () => []; /** Mock create element to add a content window property in the iframe due to jest issue with iframe in shadow dom **/ const div = document.createElement("div"); const iframe = document.createElement("iframe"); jest.spyOn(document, "createElement").mockImplementation((elementName) => { if (elementName === "div") { return div.cloneNode(); } else if (elementName === "iframe") { const iframeMock = iframe.cloneNode(); Object.defineProperty(iframeMock, "contentWindow", { value: {}, }); return iframeMock; } }); }); afterEach(() => { InFormManager.destroy(); }); it("As LU I should see the inform call to action on form with name attribute username", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithNameAttributeUsername; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with name attribute email", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithNameAttributeEmail; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with name attribute login", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithNameAttributeLogin; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with name attribute logto", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithNameAttributeLogto; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with name attribute benutzerkennung", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithNameAttributeBenutzerkennung; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with name attribute benutzername", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithNameAttributeBenutzername; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with name attribute utente (Italian)", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithNameAttributeUtente; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with name attribute benutzername and password attribute passwort", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithNameAttributeBenutzernameAndPasswordAttributePasswort; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with no type and name attribute username", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithNoTypeAndNameAttributeUsername; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with no type name attribute email", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithNoTypeAndNameAttributeEmail; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with no type name attribute login", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithNoTypeAndNameAttributeLogin; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with no type name attribute benutzerkennung", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithNoTypeAndNameAttributeBenutzerkennung; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with no type name attribute benutzername", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithNoTypeAndNameAttributeBenutzername; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with no type name attribute utente (Italian)", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithNoTypeAndNameAttributeUtente; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with id attribute username", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithIdAttributeUsername; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with id attribute email", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithIdAttributeEmail; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with id attribute login", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithIdAttributeLogin; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with id attribute logto", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithIdAttributeLogto; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with id attribute benutzerkennung", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithIdAttributeBenutzerkennung; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with id attribute benutzername", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithIdAttributeBenutzername; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with id attribute utente (Italian)", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithIdAttributeUtente; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with no type and id attribute username", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithNoTypeAndIdAttributeUsername; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with no type and id attribute email", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithNoTypeAndIdAttributeEmail; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with no type and id attribute login", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithNoTypeAndIdAttributeLogin; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with no type and id attribute benutzerkennung", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithNoTypeAndIdAttributeBenutzerkennung; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with no type and id attribute benutzername", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithNoTypeAndIdAttributeBenutzername; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with no type and id attribute utente (Italian)", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithNoTypeAndIdAttributeUtente; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with autocomplete attribute username", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithAutocompleteAttributeUsername; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with autocomplete attribute email", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithAutocompleteAttributeEmail; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with no type and autocomplete attribute username", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithNoTypeAndAutocompleteAttributeUsername; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with no type and autocomplete attribute email", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithNoTypeAndAutocompleteAttributeEmail; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with placeholder attribute username", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithPlaceHolderAttributeUsername; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with placeholder attribute email", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithPlaceHolderAttributeEmail; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with placeholder attribute e-mail", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithPlaceHolderAttributeE_mail; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with no type and placeholder attribute username", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithNoTypeAndPlaceHolderAttributeUsername; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with no type and placeholder attribute email", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithNoTypeAndPlaceHolderAttributeEmail; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with no type and placeholder attribute e-mail", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithNoTypeAndPlaceHolderAttributeE_mail; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with class username", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithClassUsername; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with class email", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithClassEmail; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with class create-account-input", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithClassCreateAccount; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with no type and class username", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithNoTypeAndClassUsername; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with no type class email", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithNoTypeAndClassEmail; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with no type class create-account-input", async () => { expect.assertions(7); // Set up document body document.body.innerHTML = domElementLoginWithNoTypeAndClassCreateAccount; // The Dom let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with nested username and password fields", async () => { expect.assertions(7); document.body.innerHTML = domNestedUsernamePassword; let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with multiple username candidates", async () => { expect.assertions(7); document.body.innerHTML = domMultipleUsernameCandidates; let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with username identified by id", async () => { expect.assertions(7); document.body.innerHTML = domUsernameById; let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with username identified by class", async () => { expect.assertions(7); document.body.innerHTML = domUsernameByClass; let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.blurOnPassword(); expect(informManager.iframesLength).toBe(0); await informManager.focusOnPassword(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnUsername(); expect(informManager.iframesLength).toBe(2); }); it("As LU I should see the inform call to action on form with multiple password fields", async () => { expect.assertions(7); document.body.innerHTML = domWithMultiplePasswords; let informManager; await act(async () => (informManager = new InformManagerPage())); expect(informManager.iframesLength).toBe(0); await informManager.focusOnUsername(); expect(informManager.iframesLength).toBe(1); await informManager.mouseOverOnPassword(); expect(informManager.iframesLength).toBe(2); await informManager.blurOnUsername();