From 652f8631ef3673b76c374887f21e45406a2e9566 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Grand?= <francois.grand@inrae.fr> Date: Tue, 4 Apr 2023 16:26:30 +0200 Subject: [PATCH] refactor(e2e): move loadSession() function to util.po refs #614 --- e2e/load-save-session.e2e-spec.ts | 18 ++++-------------- e2e/util.po.ts | 15 +++++++++++++++ 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/e2e/load-save-session.e2e-spec.ts b/e2e/load-save-session.e2e-spec.ts index b56572375..acb9b6f1d 100644 --- a/e2e/load-save-session.e2e-spec.ts +++ b/e2e/load-save-session.e2e-spec.ts @@ -5,7 +5,7 @@ import { Navbar } from "./navbar.po"; import { SideNav } from "./sidenav.po"; import { browser, by, element } from "protractor"; import { PreferencesPage } from "./preferences.po"; -import { changeSelectValue, expectNumber } from "./util.po"; +import { changeSelectValue, expectNumber, loadSession } from "./util.po"; const fs = require("fs"); const path = require("path"); @@ -86,16 +86,6 @@ async function saveSession(): Promise<string> { return findDownloadedFile(sessionFile); } -async function loadSession(path: string) { - await navbar.clickMenuButton(); - await browser.sleep(200); - - await sidenav.clickLoadSessionButton(); - await browser.sleep(200); - - await sidenav.loadSessionFile(path); -} - /** * Save and load (serialise and unserialise) calculators to/from JSON files */ @@ -117,7 +107,7 @@ describe("ngHyd − save and load sessions", () => { it("when loading session-6-calc.test.json file from home page, 6 calculators should be loaded", async () => { await startPage.navigateTo(); - await loadSession("./session/session-6-calc.test.json"); + await loadSession(navbar, sidenav, "./session/session-6-calc.test.json"); await browser.sleep(1000); expect(await navbar.getAllCalculatorTabs().count()).toBe(6); @@ -126,7 +116,7 @@ describe("ngHyd − save and load sessions", () => { it("when loading session-optional-params.test.json file from home page, the calculator should be loaded", async () => { await startPage.navigateTo(); - await loadSession("./session/session-optional-params.test.json"); + await loadSession(navbar, sidenav, "./session/session-optional-params.test.json"); await browser.sleep(200); expect(await navbar.getAllCalculatorTabs().count()).toBe(1); @@ -219,7 +209,7 @@ describe("ngHyd − save and load sessions", () => { await browser.sleep(200); // load session - await loadSession(filename); // bug here : the click on the menu button (top left) takes 40s to take effect and open the side nav!) + await loadSession(navbar, sidenav, filename); // bug here : the click on the menu button (top left) takes 40s to take effect and open the side nav!) await browser.sleep(200); // the displayed calculator is now the loaded one diff --git a/e2e/util.po.ts b/e2e/util.po.ts index aded71c16..f20a7cd91 100644 --- a/e2e/util.po.ts +++ b/e2e/util.po.ts @@ -1,4 +1,6 @@ import { ElementFinder, browser, by, element } from "protractor"; +import { Navbar } from "./navbar.po"; +import { SideNav } from "./sidenav.po"; /** * scroll page to make element visible @@ -35,3 +37,16 @@ export async function changeSelectValue(elt: ElementFinder, index: number) { await option.click(); await browser.sleep(200); } + +/** + * load a session from JSON file + */ +export async function loadSession(navbar: Navbar, sideNav: SideNav, path: string) { + await navbar.clickMenuButton(); + await browser.sleep(200); + + await sideNav.clickLoadSessionButton(); + await browser.sleep(200); + + await sideNav.loadSessionFile(path); +} -- GitLab