|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- import datetime_doctype from "../fixtures/datetime_doctype";
- const doctype_name = datetime_doctype.name;
-
- context("Control Date, Time and DateTime", () => {
- before(() => {
- cy.login();
- cy.visit("/app/website");
- return cy.insert_doc("DocType", datetime_doctype, true);
- });
-
- describe("Date formats", () => {
- let date_formats = [
- {
- date_format: "dd-mm-yyyy",
- part: 2,
- length: 4,
- separator: "-",
- },
- {
- date_format: "mm/dd/yyyy",
- part: 0,
- length: 2,
- separator: "/",
- },
- ];
-
- date_formats.forEach((d) => {
- it("test date format " + d.date_format, () => {
- cy.set_value("System Settings", "System Settings", {
- date_format: d.date_format,
- });
- cy.window()
- .its("xhiveframework")
- .then((xhiveframework) => {
- // update sys_defaults value to avoid a reload
- xhiveframework.sys_defaults.date_format = d.date_format;
- });
-
- cy.new_form(doctype_name);
- cy.get(".form-control[data-fieldname=date]").focus();
- cy.get(".datepickers-container .datepicker.active").should("be.visible");
- cy.get(
- ".datepickers-container .datepicker.active .datepicker--cell-day.-current-"
- ).click({ force: true });
-
- cy.window()
- .its("cur_frm")
- .then((cur_frm) => {
- let formatted_value = cur_frm.get_field("date").input.value;
- let parts = formatted_value.split(d.separator);
- expect(parts[d.part].length).to.equal(d.length);
- });
- });
- });
- });
-
- describe("Time formats", () => {
- let time_formats = [
- {
- time_format: "HH:mm:ss",
- value: " 11:00:12",
- match_value: "11:00:12",
- },
- {
- time_format: "HH:mm",
- value: " 11:00:12",
- match_value: "11:00",
- },
- ];
-
- time_formats.forEach((d) => {
- it("test time format " + d.time_format, () => {
- cy.set_value("System Settings", "System Settings", {
- time_format: d.time_format,
- });
- cy.window()
- .its("xhiveframework")
- .then((xhiveframework) => {
- xhiveframework.sys_defaults.time_format = d.time_format;
- });
- cy.new_form(doctype_name);
- cy.fill_field("time", d.value, "Time").blur();
- cy.get_field("time").should("have.value", d.match_value);
- });
- });
- });
-
- describe("DateTime formats", () => {
- let datetime_formats = [
- {
- date_format: "dd.mm.yyyy",
- time_format: "HH:mm:ss",
- value: " 02.12.2019 11:00:12",
- doc_value: "2019-12-02 00:30:12", // system timezone (America/New_York)
- input_value: "02.12.2019 11:00:12", // admin timezone (Asia/Kolkata)
- },
- {
- date_format: "mm-dd-yyyy",
- time_format: "HH:mm",
- value: " 12-02-2019 11:00:00",
- doc_value: "2019-12-02 00:30:00", // system timezone (America/New_York)
- input_value: "12-02-2019 11:00", // admin timezone (Asia/Kolkata)
- },
- ];
-
- datetime_formats.forEach((d) => {
- it(`test datetime format ${d.date_format} ${d.time_format}`, () => {
- cy.set_value("System Settings", "System Settings", {
- date_format: d.date_format,
- time_format: d.time_format,
- });
- cy.window()
- .its("xhiveframework")
- .then((xhiveframework) => {
- xhiveframework.sys_defaults.date_format = d.date_format;
- xhiveframework.sys_defaults.time_format = d.time_format;
- });
- cy.new_form(doctype_name);
- cy.fill_field("datetime", d.value, "Datetime").blur();
- cy.get_field("datetime").should("have.value", d.input_value);
-
- cy.window().its("cur_frm.doc.datetime").should("eq", d.doc_value);
- });
- });
- });
- });
|