46 lines
1.4 KiB
JavaScript
46 lines
1.4 KiB
JavaScript
context("Control Duration", () => {
|
|
before(() => {
|
|
cy.login();
|
|
cy.visit("/app/website");
|
|
});
|
|
|
|
function get_dialog_with_duration(hide_days = 0, hide_seconds = 0) {
|
|
return cy.dialog({
|
|
title: "Duration",
|
|
fields: [
|
|
{
|
|
fieldname: "duration",
|
|
fieldtype: "Duration",
|
|
hide_days: hide_days,
|
|
hide_seconds: hide_seconds,
|
|
},
|
|
],
|
|
});
|
|
}
|
|
|
|
it("should set duration", () => {
|
|
get_dialog_with_duration().as("dialog");
|
|
cy.get(".frappe-control[data-fieldname=duration] input").first().click();
|
|
cy.get(".duration-input[data-duration=days]")
|
|
.type(45, { force: true })
|
|
.blur({ force: true });
|
|
cy.get(".duration-input[data-duration=minutes]").type(30).blur({ force: true });
|
|
cy.get(".frappe-control[data-fieldname=duration] input")
|
|
.first()
|
|
.should("have.value", "45d 30m");
|
|
cy.get(".frappe-control[data-fieldname=duration] input").first().blur();
|
|
cy.get(".duration-picker").should("not.be.visible");
|
|
cy.get("@dialog").then((dialog) => {
|
|
let value = dialog.get_value("duration");
|
|
expect(value).to.equal(3889800);
|
|
cy.hide_dialog();
|
|
});
|
|
});
|
|
|
|
it("should hide days or seconds according to duration options", () => {
|
|
get_dialog_with_duration(1, 1).as("dialog");
|
|
cy.get(".frappe-control[data-fieldname=duration] input").first();
|
|
cy.get(".duration-input[data-duration=days]").should("not.be.visible");
|
|
cy.get(".duration-input[data-duration=seconds]").should("not.be.visible");
|
|
});
|
|
});
|