context("Control Rating", () => { before(() => { cy.login(); cy.visit("/app/website"); }); function get_dialog_with_rating() { return cy.dialog({ title: "Rating", fields: [ { fieldname: "rate", fieldtype: "Rating", options: 7, }, ], }); } it("click on the star rating to record value", () => { get_dialog_with_rating().as("dialog"); cy.get("div.rating") .children("svg") .find(".right-half") .first() .click() .should("have.class", "star-click"); cy.get("@dialog").then((dialog) => { var value = dialog.get_value("rate"); expect(value).to.equal(1 / 7); dialog.hide(); }); }); it("hover on the star", () => { get_dialog_with_rating(); cy.get("div.rating") .children("svg") .find(".right-half") .first() .invoke("trigger", "mouseenter") .should("have.class", "star-hover") .invoke("trigger", "mouseleave") .should("not.have.class", "star-hover"); }); it("check number of stars in rating", () => { get_dialog_with_rating(); cy.get("div.rating").first().children("svg").should("have.length", 7); }); });