UNPKG

passbolt-styleguide

Version:

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

76 lines (67 loc) 2.63 kB
/** * Passbolt ~ Open source password manager for teams * Copyright (c) 2020 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) 2020 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 InstallExtension in regard of specifications */ import IntroduceExtensionTestPage from "./IntroduceExtension.test.page"; import { defaultProps } from "./IntroduceExtension.test.data"; beforeEach(() => { jest.resetModules(); }); describe("As AN I should see setup extension page", () => { let page; // The page to test against const props = defaultProps(); describe("As AN I should be able to see setup extension for supported browser", () => { /** * Given a AN * Then I should see a setup extension page */ it("As AN I should see the setup extension for chrome", () => { Object.defineProperty(window, "navigator", { value: { userAgent: "Chrome" }, writable: true, }); window.chrome = { runtime: "true" }; page = new IntroduceExtensionTestPage(props); expect(page.exists()).toBeTruthy(); // title expect(page.title).toBe("Congratulations! Passbolt extension has been installed."); // browser image expect(page.browser.className).toBe("animated-setup-introduction chrome"); }); it("As AN I should see the setup extension for firefox", () => { Object.defineProperty(window, "navigator", { value: { userAgent: "Firefox" }, writable: true, }); page = new IntroduceExtensionTestPage(props); // browser image expect(page.browser.className).toBe("animated-setup-introduction firefox"); }); it("As AN I should see the setup extension for edge", () => { Object.defineProperty(window, "navigator", { value: { userAgent: "Edg" }, writable: true, }); page = new IntroduceExtensionTestPage(props); // browser image expect(page.browser.className).toBe("animated-setup-introduction edge"); }); it("As AN I should be able to click next on the page", async () => { page = new IntroduceExtensionTestPage(props); await page.next(); expect(props.onComplete).toHaveBeenCalled(); }); }); });