diff --git a/e2e/lechapt-calmon-material-selector.e2e-spec.ts b/e2e/lechapt-calmon-material-selector.e2e-spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..9f4ed20f6dc34521772a1e91a7bd28cf6fb529b6 --- /dev/null +++ b/e2e/lechapt-calmon-material-selector.e2e-spec.ts @@ -0,0 +1,47 @@ +import { AppPage } from "./app.po"; +import { ListPage } from "./list.po"; +import { CalculatorPage } from "./calculator.po"; +import { Navbar } from "./navbar.po"; +import { SideNav } from "./sidenav.po"; +import { browser, by } from "protractor"; + +describe("Lechapt-Calmon", () => { + let listPage: ListPage; + let calcPage: CalculatorPage; + let navBar: Navbar; + let startPage: AppPage; + let sidenav: SideNav; + + beforeEach(() => { + listPage = new ListPage(); + calcPage = new CalculatorPage(); + navBar = new Navbar(); + startPage = new AppPage(); + sidenav = new SideNav(); + + }); + + it(" − material selector should modify input values", async () => { + // create a Lechapt-Calmon + await startPage.navigateTo(); + await listPage.clickMenuEntryForCalcType(1); + const L = calcPage.getInputById("L"); + const M = calcPage.getInputById("M"); + const N = calcPage.getInputById("N"); + + // check default values for L, M, N + expect(await L.getAttribute("value")).toBe("1.863"); + expect(await M.getAttribute("value")).toBe("2"); + expect(await N.getAttribute("value")).toBe("5.33"); + + // change material + const selectMaterial = calcPage.getSelectById("select_material"); + await calcPage.changeSelectValue(selectMaterial, 4); + + // check default values for L, M, N + expect(await L.getAttribute("value")).toBe("1.16"); + expect(await M.getAttribute("value")).toBe("1.93"); + expect(await N.getAttribute("value")).toBe("5.11"); + }); + +}); diff --git a/src/app/formulaire/ngparam.ts b/src/app/formulaire/ngparam.ts index 679d3b1f3f4058d76279820637706cf9e3224621..5cc95c11f161b07a4163b135652b31de10783a5d 100644 --- a/src/app/formulaire/ngparam.ts +++ b/src/app/formulaire/ngparam.ts @@ -308,11 +308,17 @@ export class NgParameter extends InputField implements Observer { * notification envoyée après la modification de la valeur du paramètre */ private notifyValueModified(sender: any) { + let val: number; + if (this._paramDef.valueMode === ParamValueMode.SINGLE) { + val = this._paramDef.singleValue; + } else { + val = this._paramDef.v; // @WARNING coward retrocompat + } this.notifyObservers( { "action": "ngparamAfterValue", "param": this, - "value": this._paramDef.v + "value": val }, sender ); }