diff --git a/e2e/load-save-session.e2e-spec.ts b/e2e/load-save-session.e2e-spec.ts index 0272104a5ee14807f9f54c7a9e914f71a4b77440..b8fb8a83e9fdd610613eb6826e0fcf1f34e6660e 100644 --- a/e2e/load-save-session.e2e-spec.ts +++ b/e2e/load-save-session.e2e-spec.ts @@ -4,7 +4,7 @@ import { CalculatorPage } from "./calculator.po"; import { Navbar } from "./navbar.po"; import { SideNav } from "./sidenav.po"; import { PreferencesPage } from "./preferences.po"; -import { changeSelectValue, expectNumber } from "./util.po"; +import { changeSelectValue, expectNumber, loadSession } from "./util.po"; import { browser, $, $$, expect } from '@wdio/globals' const fs = require("fs"); @@ -54,16 +54,6 @@ async function saveSession(): Promise<string> { return findDownloadedFile(sessionFile); } -async function loadSession(path: string) { - await navbar.clickMenuButton(); - await browser.pause(500); - - await sidenav.clickLoadSessionButton(); - await browser.pause(200); - - await sidenav.loadSessionFile(path); -} - /** * Save and load (serialise and unserialise) calculators to/from JSON files */ @@ -84,7 +74,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.pause(1000); expect(await navbar.getAllCalculatorTabs().length).toBe(6); @@ -93,7 +83,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.pause(200); expect(await navbar.getAllCalculatorTabs().length).toBe(1); @@ -187,7 +177,7 @@ describe("ngHyd − save and load sessions", () => { await browser.pause(500); // load session - await loadSession(filename); + await loadSession(navbar, sidenav, filename); await browser.pause(500); // the displayed calculator is now the loaded one @@ -213,7 +203,7 @@ describe("ngHyd − save and load sessions", () => { // get selects once again since page has been replaced (session load) selects = await calcPage.getAllCalculatorSelects(); - + // restore select previous option, other selects presence may depend on it (eg. pressure loss calculator) await changeSelectValue(selects[s], ind); await browser.pause(200); diff --git a/e2e/util.po.ts b/e2e/util.po.ts index 424cca2609278418dbba766cb3152ab86fce4057..4acf0e3038359ab5e1dd85e0a1d2ba3819d924ae 100644 --- a/e2e/util.po.ts +++ b/e2e/util.po.ts @@ -71,3 +71,16 @@ export async function openCalculator(id: number, navBar: Navbar, listPage: ListP await listPage.clickMenuEntryForCalcType(id); await browser.pause(200); } + +/** + * load a session from JSON file + */ +export async function loadSession(navbar: Navbar, sideNav: SideNav, path: string) { + await navbar.clickMenuButton(); + await browser.pause(200); + + await sideNav.clickLoadSessionButton(); + await browser.pause(200); + + await sideNav.loadSessionFile(path); +}