context("Control Float", () => { before(() => { cy.login(); cy.visit("/app/website"); }); function get_dialog_with_float() { return cy.dialog({ title: "Float Check", fields: [ { fieldname: "float_number", fieldtype: "Float", Label: "Float", }, ], }); } it("check value changes", () => { get_dialog_with_float().as("dialog"); let data = get_data(); data.forEach((x) => { cy.window() .its("xhiveframework") .then((xhiveframework) => { xhiveframework.boot.sysdefaults.number_format = x.number_format; }); x.values.forEach((d) => { cy.get_field("float_number", "Float").clear(); cy.wait(200); cy.fill_field("float_number", d.input, "Float").blur(); cy.get_field("float_number", "Float").should("have.value", d.blur_expected); cy.get_field("float_number", "Float").focus(); cy.get_field("float_number", "Float").blur(); cy.get_field("float_number", "Float").focus(); cy.get_field("float_number", "Float").should("have.value", d.focus_expected); }); }); }); function get_data() { return [ { number_format: "#.###,##", values: [ { input: "364.87,334", blur_expected: "36.487,334", focus_expected: "36487.334", }, { input: "36487,334", blur_expected: "36.487,334", focus_expected: "36487.334", }, { input: "100", blur_expected: "100,000", focus_expected: "100", }, ], }, { number_format: "#,###.##", values: [ { input: "364,87.334", blur_expected: "36,487.334", focus_expected: "36487.334", }, { input: "36487.334", blur_expected: "36,487.334", focus_expected: "36487.334", }, { input: "100", blur_expected: "100.000", focus_expected: "100", }, ], }, ]; } });