From e2035d4f079a42a7e858c73e576cd1070e462d10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Grand?= <francois.grand@inrae.fr> Date: Thu, 12 May 2022 15:18:33 +0200 Subject: [PATCH 1/2] test(e2e): check that parameter mode is restored on 'variable mode' dialog cancel refs #542 --- e2e/reset-param-mode.e2e-spec.ts | 45 +++++++++++++++++++++++++++++--- 1 file changed, 41 insertions(+), 4 deletions(-) diff --git a/e2e/reset-param-mode.e2e-spec.ts b/e2e/reset-param-mode.e2e-spec.ts index c4b754839..b6a294b72 100644 --- a/e2e/reset-param-mode.e2e-spec.ts +++ b/e2e/reset-param-mode.e2e-spec.ts @@ -13,12 +13,12 @@ describe("ngHyd - check parameter mode is set to its previous value - ", () => { listPage = new ListPage(); }); - it("when min/max/list values dialog is cancelled", async () => { + it("when min/max/list values dialog is cancelled on 'fish ladder: fall' calculator", async () => { // start page await listPage.navigateTo(); await browser.sleep(500); - // open PAB chute + // open 'PAB fall' calculator await listPage.clickMenuEntryForCalcType(12); await browser.sleep(500); @@ -37,10 +37,47 @@ describe("ngHyd - check parameter mode is set to its previous value - ", () => { await cancelbtn.click(); await browser.sleep(200); - // check Z1 var toggle is disabled + // check Z1 var toggle is not checked expect(await z1varbtn.getAttribute("ng-reflect-checked")).toBe("false"); - // check Z1 calc toggle is enabled + // check Z1 calc toggle is checked + expect(await z1calcbtn.getAttribute("ng-reflect-checked")).toBe("true"); + }); + + it("when min/max/list values dialog is cancelled on 'fish ladder' calculator", async () => { + // start page + await listPage.navigateTo(); + await browser.sleep(500); + + // open PAB calculator + await listPage.clickMenuEntryForCalcType(15); + await browser.sleep(500); + + // "fixed" radio on Q parameter + const qfixbtn = element(by.id("mat-button-toggle-1")); + await browser.sleep(50); + + // "var" radio on Z1 parameter + const z1varbtn = element(by.id("mat-button-toggle-6")); + await browser.sleep(50); + + // "calc" radio on Z1 parameter + const z1calcbtn = element(by.id("mat-button-toggle-7")); + await browser.sleep(50); + + // click "var" radio on Z1 parameter + await z1varbtn.click(); + await browser.sleep(200); + + // click cancel button + const cancelbtn = element(by.id("btn-cancel")); + await cancelbtn.click(); + await browser.sleep(200); + + // check Q fix toggle is checked + expect(await qfixbtn.getAttribute("ng-reflect-checked")).toBe("true"); + + // check Z1 calc toggle is checked expect(await z1calcbtn.getAttribute("ng-reflect-checked")).toBe("true"); }); }); -- GitLab From e50c86007be5f345e9f624be17017419cf8bf651 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Grand?= <francois.grand@inrae.fr> Date: Thu, 12 May 2022 15:19:49 +0200 Subject: [PATCH 2/2] fix: crash when variable mode dialog is canceled in fish ladder calculator refs #542 --- .../param-field-line/param-field-line.component.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/app/components/param-field-line/param-field-line.component.ts b/src/app/components/param-field-line/param-field-line.component.ts index 1cb5750c7..fa34f53ae 100644 --- a/src/app/components/param-field-line/param-field-line.component.ts +++ b/src/app/components/param-field-line/param-field-line.component.ts @@ -211,8 +211,13 @@ export class ParamFieldLineComponent implements OnChanges { let ret = true; if (this.param.paramDefinition.isCalculated) { const nub = this.param.paramDefinition.parentNub; - const p = nub.findFirstCalculableParameter(this.param.paramDefinition); - ret = (p !== undefined); + try { + const p = nub.findFirstCalculableParameter(this.param.paramDefinition); + ret = (p !== undefined); + } + catch (e) { + ret = true; + } } return ret; } -- GitLab