From 33189f53487edeea840f76ca11ea12e294d6b419 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Grand?= <francois.grand@inrae.fr> Date: Thu, 11 May 2023 10:01:40 +0200 Subject: [PATCH] refactor(e2e): use loadSession() where possible refs #618 --- e2e/calculate-linked-params.e2e-spec.ts | 19 +++++--------- e2e/compute-reset-chained-links.e2e-spec.ts | 23 +++------------- e2e/load-linked-params.e2e-spec.ts | 10 ++----- e2e/load-malformed-files.e2e-spec.ts | 29 ++++----------------- e2e/pab.e2e-spec.ts | 17 +++--------- e2e/remous.e2e-spec.ts | 9 ++----- e2e/solveur.e2e-spec.ts | 11 ++------ e2e/util.po.ts | 9 ++++--- 8 files changed, 31 insertions(+), 96 deletions(-) diff --git a/e2e/calculate-linked-params.e2e-spec.ts b/e2e/calculate-linked-params.e2e-spec.ts index 557484db..2f998ebd 100644 --- a/e2e/calculate-linked-params.e2e-spec.ts +++ b/e2e/calculate-linked-params.e2e-spec.ts @@ -3,7 +3,7 @@ import { CalculatorPage } from "./calculator.po"; import { Navbar } from "./navbar.po"; import { SideNav } from "./sidenav.po"; import { PreferencesPage } from "./preferences.po"; -import { changeSelectValue, newSession } from "./util.po"; +import { changeSelectValue, loadSession, newSession } from "./util.po"; import { browser, $, $$, expect } from '@wdio/globals' /** @@ -234,12 +234,10 @@ describe("ngHyd − calculate with linked parameters", () => { it(" − multiple variated parameters, including a linked one (#253)", async () => { // load session file await navBar.clickNewCalculatorButton(); - await navBar.clickMenuButton(); await browser.pause(200); - await sideNav.clickLoadSessionButton(); - await browser.pause(200); - await sideNav.loadSessionFile("./session/session-multivar-link.json"); - await browser.pause(500); + + await loadSession(navBar, sideNav, "./session/session-multivar-link.json"); + expect(await navBar.getAllCalculatorTabs().length).toBe(2); // calculate @@ -270,13 +268,10 @@ describe("ngHyd − calculate with linked parameters", () => { it(" − bug nghyd#329 : unexpected ERR in results table", async () => { await navBar.clickNewCalculatorButton(); - // load session - await navBar.clickMenuButton(); - await browser.pause(200); - await sideNav.clickLoadSessionButton(); - await browser.pause(200); - await sideNav.loadSessionFile("./session/session-pab-chain-nghyd-329.json"); await browser.pause(200); + + // load session + await loadSession(navBar, sideNav, "./session/session-pab-chain-nghyd-329.json"); expect(await navBar.getAllCalculatorTabs().length).toBe(3); // calculate PAB-Dimensions diff --git a/e2e/compute-reset-chained-links.e2e-spec.ts b/e2e/compute-reset-chained-links.e2e-spec.ts index 1f87a7ad..e0577d24 100644 --- a/e2e/compute-reset-chained-links.e2e-spec.ts +++ b/e2e/compute-reset-chained-links.e2e-spec.ts @@ -4,7 +4,7 @@ import { Navbar } from "./navbar.po"; import { SideNav } from "./sidenav.po"; import { PreferencesPage } from "./preferences.po"; import { browser, $, $$, expect } from '@wdio/globals' -import { newSession } from "./util.po"; +import { loadSession, newSession } from "./util.po"; /** * Load a session containing 3 calculators, having linked parameters @@ -31,12 +31,7 @@ describe("ngHyd − compute then reset chained results − ", () => { it("when loading session-cascade-params.json, computation should not be chained, but results reset should be", async () => { // load session file await startPage.navigateTo(); - await navBar.clickMenuButton(); - await browser.pause(200); - await sidenav.clickLoadSessionButton(); - await browser.pause(200); - await sidenav.loadSessionFile("./session/session-cascade-params.json"); - await browser.pause(500); + await loadSession(navBar, sidenav, "./session/session-cascade-params.json"); expect(await navBar.getAllCalculatorTabs().length).toBe(3); // 1. get down-most module @@ -91,12 +86,7 @@ describe("ngHyd − compute then reset chained results − ", () => { it("when loading session-cascade-results.json, computation and results reset should be chained", async () => { // load session file await startPage.navigateTo(); - await navBar.clickMenuButton(); - await browser.pause(500); - await sidenav.clickLoadSessionButton(); - await browser.pause(200); - await sidenav.loadSessionFile("./session/session-cascade-results.json"); - await browser.pause(500); + await loadSession(navBar, sidenav, "./session/session-cascade-results.json"); expect(await navBar.getAllCalculatorTabs().length).toBe(3); // 1. get down-most module (PAB Dimensions) @@ -142,12 +132,7 @@ describe("ngHyd − compute then reset chained results − ", () => { await browser.pause(200); // load session file - await navBar.clickMenuButton(); - await browser.pause(500); - await sidenav.clickLoadSessionButton(); - await browser.pause(200); - await sidenav.loadSessionFile("./session/session-results-invalidation.json"); - await browser.pause(500); + await loadSession(navBar, sidenav, "./session/session-results-invalidation.json"); expect(await navBar.getAllCalculatorTabs().length).toBe(2); // get down-most module (Ouvrages) diff --git a/e2e/load-linked-params.e2e-spec.ts b/e2e/load-linked-params.e2e-spec.ts index 22671e1a..3ffa9d9a 100644 --- a/e2e/load-linked-params.e2e-spec.ts +++ b/e2e/load-linked-params.e2e-spec.ts @@ -3,6 +3,7 @@ import { Navbar } from "./navbar.po"; import { SideNav } from "./sidenav.po"; import { PreferencesPage } from "./preferences.po"; import { browser, $, $$, expect } from '@wdio/globals' +import { loadSession } from "./util.po"; /** * Load a session containing 5 calculators, having multiple linked parameters @@ -35,14 +36,7 @@ describe("ngHyd − load session with multiple linked parameters − ", () => { }); it("when loading session-liens-spaghetti.json, all links should point to the right target", async () => { - await navbar.clickMenuButton(); - await browser.pause(500); - - await sidenav.clickLoadSessionButton(); - await browser.pause(200); - - await sidenav.loadSessionFile("./session/session-liens-spaghetti.json"); - await browser.pause(500); + await loadSession(navbar, sidenav, "./session/session-liens-spaghetti.json"); expect(await navbar.getAllCalculatorTabs().length).toBe(5); diff --git a/e2e/load-malformed-files.e2e-spec.ts b/e2e/load-malformed-files.e2e-spec.ts index 708332a3..4f665914 100644 --- a/e2e/load-malformed-files.e2e-spec.ts +++ b/e2e/load-malformed-files.e2e-spec.ts @@ -2,6 +2,7 @@ import { Navbar } from "./navbar.po"; import { SideNav } from "./sidenav.po"; import { PreferencesPage } from "./preferences.po"; import { browser, $, $$, expect } from '@wdio/globals' +import { loadSession } from "./util.po"; /** * Load 4 malformed session files : @@ -31,49 +32,29 @@ describe("ngHyd − load malformed session files − ", () => { }); it("when loading session-bad-syntax.json, displayed error should be relevant", async () => { - await navbar.clickMenuButton(); - await browser.pause(500); + await loadSession(navbar, sidenav, "./session/session-bad-syntax.json"); - await sidenav.clickLoadSessionButton(); - await browser.pause(200); - - await sidenav.loadSessionFile("./session/session-bad-syntax.json"); const err = await $(".file-problem .mat-list-item-content"); expect(await err.getText()).toContain("La syntaxe du fichier semble incorrecte"); }); it("when loading session-missing-info.json, displayed error should be relevant", async () => { - await navbar.clickMenuButton(); - await browser.pause(500); - - await sidenav.clickLoadSessionButton(); - await browser.pause(200); + await loadSession(navbar, sidenav, "./session/session-missing-info.json"); - await sidenav.loadSessionFile("./session/session-missing-info.json"); const err = await $(".file-problem .mat-list-item-content"); expect(await err.getText()).toContain("La syntaxe du fichier semble incorrecte"); }); it("when loading session-empty-modules-list.json, displayed error should be relevant", async () => { - await navbar.clickMenuButton(); - await browser.pause(500); + await loadSession(navbar, sidenav, "./session/session-empty-modules-list.json"); - await sidenav.clickLoadSessionButton(); - await browser.pause(200); - - await sidenav.loadSessionFile("./session/session-empty-modules-list.json"); const err = await $(".file-problem .mat-list-item-content"); expect(await err.getText()).toContain("Le fichier ne contient aucun module"); }); it("when loading session-format-too-old.json, displayed error should be relevant", async () => { - await navbar.clickMenuButton(); - await browser.pause(500); - - await sidenav.clickLoadSessionButton(); - await browser.pause(200); + await loadSession(navbar, sidenav, "./session/session-format-too-old.json", false); - await sidenav.loadSessionFile("./session/session-format-too-old.json", false); const err = await $(".file-problem .mat-list-item-content"); expect(await err.getText()).toContain("Mauvaise version du format de fichier"); }); diff --git a/e2e/pab.e2e-spec.ts b/e2e/pab.e2e-spec.ts index 8e56d0e8..28f88a92 100644 --- a/e2e/pab.e2e-spec.ts +++ b/e2e/pab.e2e-spec.ts @@ -4,7 +4,7 @@ import { Navbar } from "./navbar.po"; import { AppPage } from "./app.po"; import { SideNav } from "./sidenav.po"; import { PreferencesPage } from "./preferences.po"; -import { changeSelectValue, newSession, scrollPageToTop } from "./util.po"; +import { changeSelectValue, loadSession, newSession, scrollPageToTop } from "./util.po"; import { browser, $, $$, expect } from '@wdio/globals' /** @@ -228,12 +228,8 @@ describe("ngHyd − Passe à Bassins", () => { it("complete example of all PAB modules", async () => { await startPage.navigateTo(); // load - await navBar.clickMenuButton(); - await browser.pause(500); - await sideNav.clickLoadSessionButton(); - await browser.pause(200); - await sideNav.loadSessionFile("./session/session-pab-complete.json"); - await browser.pause(500); + await loadSession(navBar, sideNav, "./session/session-pab-complete.json"); + // check existence of the loaded modules expect(await navBar.getAllCalculatorTabs().length).toBe(6); @@ -267,12 +263,7 @@ describe("ngHyd − Passe à Bassins", () => { await startPage.navigateTo(); await browser.pause(500); // load - await navBar.clickMenuButton(); - await browser.pause(500); - await sideNav.clickLoadSessionButton(); - await browser.pause(200); - await sideNav.loadSessionFile("./session/session-pab-regulee-variee.json"); - await browser.pause(500); + await loadSession(navBar, sideNav, "./session/session-pab-regulee-variee.json"); // check existence of the loaded module expect(await navBar.getAllCalculatorTabs().length).toBe(1); await navBar.clickCalculatorTab(0); diff --git a/e2e/remous.e2e-spec.ts b/e2e/remous.e2e-spec.ts index d75b1681..48cdcf57 100644 --- a/e2e/remous.e2e-spec.ts +++ b/e2e/remous.e2e-spec.ts @@ -3,7 +3,7 @@ import { CalculatorPage } from "./calculator.po"; import { Navbar } from "./navbar.po"; import { PreferencesPage } from "./preferences.po"; import { SideNav } from "./sidenav.po"; -import { changeSelectValue } from "./util.po"; +import { changeSelectValue, loadSession } from "./util.po"; import { browser, $, $$, expect } from '@wdio/globals' /** @@ -86,12 +86,7 @@ describe("ngHyd − remous", () => { it("Check that calculation with dx >= reach length fails", async () => { // load backwater curve session file with Dx>=Long - await navBar.clickMenuButton(); - await browser.pause(500); - await sidenav.clickLoadSessionButton(); - await browser.pause(200); - await sidenav.loadSessionFile("./session/session-remous-dx-bief.json"); - await browser.pause(300); + await loadSession(navBar, sidenav, "./session/session-remous-dx-bief.json"); // Calculate, the calculation should fail const calcBtn = await calcPage.getCalculateButton() diff --git a/e2e/solveur.e2e-spec.ts b/e2e/solveur.e2e-spec.ts index ddfb70e7..88fe956e 100644 --- a/e2e/solveur.e2e-spec.ts +++ b/e2e/solveur.e2e-spec.ts @@ -3,7 +3,7 @@ import { CalculatorPage } from "./calculator.po"; import { Navbar } from "./navbar.po"; import { SideNav } from "./sidenav.po"; import { PreferencesPage } from "./preferences.po"; -import { changeSelectValue, newSession, openCalculator, scrollPageToTop } from "./util.po"; +import { changeSelectValue, loadSession, newSession, openCalculator, scrollPageToTop } from "./util.po"; import { browser, $, $$, expect } from '@wdio/globals' /** @@ -34,14 +34,7 @@ describe("Solveur - ", () => { }); it("load > calculate", async () => { - await navBar.clickMenuButton(); - await browser.pause(500); - - await sideNav.clickLoadSessionButton(); - await browser.pause(200); - - await sideNav.loadSessionFile("./session/session-solveur-chutes.json"); - await browser.pause(200); + await loadSession(navBar, sideNav, "./session/session-solveur-chutes.json"); expect(await navBar.getAllCalculatorTabs().length).toBe(4); await navBar.clickCalculatorTab(3); // n°3 should be the latest diff --git a/e2e/util.po.ts b/e2e/util.po.ts index 04f8564f..c6cd6471 100644 --- a/e2e/util.po.ts +++ b/e2e/util.po.ts @@ -75,14 +75,15 @@ export async function openCalculator(id: number, navBar: Navbar, listPage: ListP /** * load a session from JSON file */ -export async function loadSession(navbar: Navbar, sideNav: SideNav, path: string) { +export async function loadSession(navbar: Navbar, sideNav: SideNav, path: string, click: boolean = true) { await navbar.clickMenuButton(); - await browser.pause(200); + await browser.pause(500); await sideNav.clickLoadSessionButton(); - await browser.pause(200); + await browser.pause(500); - await sideNav.loadSessionFile(path); + await sideNav.loadSessionFile(path, click); + await browser.pause(500); } /** -- GitLab