diff --git a/e2e/calculator.po.ts b/e2e/calculator.po.ts index e73d117a92ad14f070480befa8a6067fe172645d..97d0ac1f2beb6a9f56ef20799e378a9b22c1e5c2 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 0653fbe8514b7875858231e3a31b57c184430689..16e859cb6499996e72fdd4b96d7df69f1c41b298 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 0000000000000000000000000000000000000000..a82d54105d0dfecc227d8ebdf10f4f38e2a17f1c --- /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