AI Implementation feature(889): Admin Area General Settings and Categories 1.07 (#29)

This commit was merged in pull request #29.
This commit is contained in:
2026-07-22 14:53:01 +00:00
parent 3cf86b6233
commit 282fcbab94
11 changed files with 359 additions and 115 deletions
+20
View File
@@ -2,6 +2,7 @@ import {
datetimeMessage,
deriveEventState,
endAfterStartValidator,
eventEndFieldMessage,
isoDatetimeValidator,
normalizePageTitle,
pageTitleError,
@@ -203,3 +204,22 @@ describe('datetimeMessage', () => {
expect(datetimeMessage('Event start', '2026-08-15T10:30:00.000Z', null)).toBeNull();
});
});
describe('eventEndFieldMessage (Job 889)', () => {
const endIsoMsg = 'Event end must be a valid ISO-8601 datetime.';
const endBeforeMsg = 'Event end must be after event start.';
it('returns the ISO message when invalidDatetime is set, even if endBeforeStart is also set', () => {
expect(eventEndFieldMessage({ invalidDatetime: true }, { endBeforeStart: true })).toBe(endIsoMsg);
});
it('returns the end-before-start message when invalidDatetime is absent and endBeforeStart is set', () => {
expect(eventEndFieldMessage(null, { endBeforeStart: true })).toBe(endBeforeMsg);
expect(eventEndFieldMessage({}, { endBeforeStart: true })).toBe(endBeforeMsg);
});
it('returns null when both error sources are absent', () => {
expect(eventEndFieldMessage(null, null)).toBeNull();
expect(eventEndFieldMessage({}, {})).toBeNull();
});
});