Get Et2Date & Et2DateTime tests passing again

This commit is contained in:
nathan 2023-02-01 09:46:00 -07:00
parent 933d13c8b2
commit 15f986cf1a
3 changed files with 8 additions and 10 deletions

View File

@ -26,6 +26,7 @@ import {LitFlatpickr} from "lit-flatpickr";
import {Et2InputWidget} from "../Et2InputWidget/Et2InputWidget"; import {Et2InputWidget} from "../Et2InputWidget/Et2InputWidget";
import shoelace from "../Styles/shoelace"; import shoelace from "../Styles/shoelace";
const textbox = new Et2Textbox();
const button = new Et2ButtonIcon(); const button = new Et2ButtonIcon();
// Request this year's holidays now // Request this year's holidays now
holidays(new Date().getFullYear()); holidays(new Date().getFullYear());
@ -454,6 +455,7 @@ export class Et2Date extends Et2InputWidget(FormControlMixin(LitFlatpickr))
// Wait for everything to be there before we start flatpickr // Wait for everything to be there before we start flatpickr
await this.updateComplete; await this.updateComplete;
await this._inputNode.updateComplete;
this._inputNode.requestUpdate(); this._inputNode.requestUpdate();
await this._inputNode.updateComplete; await this._inputNode.updateComplete;
@ -706,10 +708,10 @@ export class Et2Date extends Et2InputWidget(FormControlMixin(LitFlatpickr))
// If they typed a valid date/time, try to update flatpickr // If they typed a valid date/time, try to update flatpickr
if(parsedDate) if(parsedDate)
{ {
const formattedDate = this._instance.formatDate(parsedDate, this.getOptions().altFormat) const formattedDate = flatpickr.formatDate(parsedDate, this.getOptions().altFormat)
if(value === formattedDate && if(value === formattedDate &&
// Avoid infinite loop of setting the same value back triggering another change // Avoid infinite loop of setting the same value back triggering another change
this._instance.input.value !== this._instance.formatDate(parsedDate, this.getOptions().dateFormat)) this._instance.input.value !== flatpickr.formatDate(parsedDate, this.getOptions().dateFormat))
{ {
this._instance.setDate(value, true, this._instance.config.altFormat) this._instance.setDate(value, true, this._instance.config.altFormat)
} }

View File

@ -35,6 +35,8 @@ async function before()
<et2-date label="I'm a date"></et2-date> <et2-date label="I'm a date"></et2-date>
`); `);
await element.updateComplete;
return element; return element;
}; };

View File

@ -30,13 +30,7 @@ describe("DateTime widget", () =>
<et2-date-time label="I'm a date-time"></et2-date-time> <et2-date-time label="I'm a date-time"></et2-date-time>
`); `);
// Create an element to test with, and wait until it's ready await element.updateComplete;
// @ts-ignore
element = await fixture<Et2DateTime>(html`
<et2-date-time label="I'm a date-time"></et2-date-time>
`);
}); });
// Make sure it works // Make sure it works
@ -54,7 +48,7 @@ describe("DateTime widget", () =>
it('Readonly does not return a value', async() => it('Readonly does not return a value', async() =>
{ {
element.readOnly = true; element.readonly = true;
let test_time_string = '2008-09-22T12:00:00.000Z'; let test_time_string = '2008-09-22T12:00:00.000Z';
element.set_value(test_time_string); element.set_value(test_time_string);