From 80e36eb06a6fa0f5d02163660aaa524fb45bc852 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Grand?= <francois.grand@inrae.fr> Date: Tue, 4 Apr 2023 17:01:12 +0200 Subject: [PATCH] test(e2e): parallel structures: check submergence error refs #614 --- e2e/calculator.po.ts | 11 +++++ e2e/parallel-structures.e2e-spec.ts | 47 ++++++++++++++++++- .../session-erreur-ennoiement-614.json | 1 + 3 files changed, 57 insertions(+), 2 deletions(-) create mode 100644 e2e/session/session-erreur-ennoiement-614.json diff --git a/e2e/calculator.po.ts b/e2e/calculator.po.ts index e73d117a9..97d0ac1f2 100644 --- a/e2e/calculator.po.ts +++ b/e2e/calculator.po.ts @@ -324,6 +324,17 @@ export class CalculatorPage { return await element.all(by.css("log-entry")).count(); } + /** + * return true if the nth log entry is an error + */ + async nthLogEntryIsError(n: number) { + const errs = element.all(by.css("log-entry")); + const e = errs.get(n); + const icon = e.element(by.css("div mat-icon")); + const style = await icon.getAttribute("style"); + return style.indexOf("color: red;") !== -1; + } + async clickSaveCalcButton() { await scrollPageToTop(); return await element(by.css("#save-calc")).click(); diff --git a/e2e/parallel-structures.e2e-spec.ts b/e2e/parallel-structures.e2e-spec.ts index 0653fbe85..16e859cb6 100644 --- a/e2e/parallel-structures.e2e-spec.ts +++ b/e2e/parallel-structures.e2e-spec.ts @@ -3,18 +3,25 @@ import { Navbar } from "./navbar.po"; import { browser } from "protractor"; import { CalculatorPage } from "./calculator.po"; import { PreferencesPage } from "./preferences.po"; +import { AppPage } from "./app.po"; +import { loadSession } from "./util.po"; +import { SideNav } from "./sidenav.po"; -describe("Check calculated parameter remains the same when copying a structure", () => { +describe("Parallel structures - ", () => { + let startPage: AppPage; let listPage: ListPage; let navBar: Navbar; let calcPage: CalculatorPage; let prefPage: PreferencesPage; + let sideNav: SideNav; beforeAll(() => { + startPage = new AppPage(); listPage = new ListPage(); navBar = new Navbar(); calcPage = new CalculatorPage(); prefPage = new PreferencesPage(); + sideNav = new SideNav(); }); beforeEach(async () => { @@ -24,7 +31,7 @@ describe("Check calculated parameter remains the same when copying a structure", await browser.sleep(200); }); - it("", async () => { + it("check calculated parameter remains the same when copying a structure", async () => { // open "fish ladder: cross walls" calculator await navBar.clickNewCalculatorButton(); await listPage.clickMenuEntryForCalcType(10); @@ -52,4 +59,40 @@ describe("Check calculated parameter remains the same when copying a structure", const L2 = calcPage.getInputById("1_L"); expect(await calcPage.inputIsInFixedMode(L2)).toBe(true); }); + + it("check submergence error", async () => { + debugger + await startPage.navigateTo(); + + await loadSession(navBar, sideNav, "./session/session-erreur-ennoiement-614.json"); + await browser.sleep(1000); + + // first calculator + + await navBar.clickCalculatorTab(0); + await browser.sleep(200); + + // run calculation + await calcPage.getCalculateButton().click(); + await browser.sleep(500); + + // check error message in log + expect(await calcPage.nbLogEntries()).toBe(1); + + expect(await calcPage.nthLogEntryIsError(0)).toBe(true); + + // second calculator + + await navBar.clickCalculatorTab(1); + await browser.sleep(200); + + // run calculation + await calcPage.getCalculateButton().click(); + await browser.sleep(500); + + // check error message in log + expect(await calcPage.nbLogEntries()).toBe(1); + + expect(await calcPage.nthLogEntryIsError(0)).toBe(true); + }); }); diff --git a/e2e/session/session-erreur-ennoiement-614.json b/e2e/session/session-erreur-ennoiement-614.json new file mode 100644 index 000000000..a82d54105 --- /dev/null +++ b/e2e/session/session-erreur-ennoiement-614.json @@ -0,0 +1 @@ +{"header":{"source":"jalhyd","format_version":"1.3","created":"2023-04-03T12:18:32.015Z"},"settings":{"precision":1e-7,"maxIterations":100,"displayPrecision":3},"documentation":"","session":[{"uid":"cTl6aT","props":{"calcType":"Cloisons","nullparams":false},"meta":{"title":"Cloisons"},"children":[{"uid":"NWllMn","props":{"calcType":"Structure","loiDebit":"WeirSubmergedLarinier","structureType":"SeuilRectangulaire","nullparams":false},"children":[],"parameters":[{"symbol":"h1","mode":"SINGLE","value":1},{"symbol":"L","mode":"SINGLE","value":0.2},{"symbol":"CdWSL","mode":"SINGLE","value":0.75}]}],"parameters":[{"symbol":"Q","mode":"CALCUL"},{"symbol":"Z1","mode":"SINGLE","value":102},{"symbol":"LB","mode":"SINGLE","value":10},{"symbol":"BB","mode":"SINGLE","value":1},{"symbol":"PB","mode":"SINGLE","value":1},{"symbol":"DH","mode":"SINGLE","value":0.6}]},{"uid":"bW4wZz","props":{"calcType":"ParallelStructure","nullparams":false},"meta":{"title":"Ouvrages"},"children":[{"uid":"anFpeG","props":{"calcType":"Structure","loiDebit":"WeirSubmerged","structureType":"SeuilRectangulaire","nullparams":false},"children":[],"parameters":[{"symbol":"ZDV","mode":"SINGLE","value":100},{"symbol":"L","mode":"SINGLE","value":2},{"symbol":"CdWS","mode":"SINGLE","value":0.9}]}],"parameters":[{"symbol":"Q","mode":"SINGLE","value":14.647},{"symbol":"Z1","mode":"CALCUL","value":103},{"symbol":"Z2","mode":"SINGLE","value":101.5}]}]} \ No newline at end of file -- GitLab