diff --git a/e2e/reset-param-mode.e2e-spec.ts b/e2e/reset-param-mode.e2e-spec.ts index c4b7548394bbfc131bd31f03bf1ac399085cfab6..b6a294b72b6b920c7c407a53416f8c6746da89a1 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"); }); }); 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 1cb5750c7f0e1f33fa6b52b29a0a932d30f5d641..fa34f53ae026ea113fd34d65c8ee1a6d0594dbec 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; }