Added new conditions so that events happening today will appear on the Future events tab (#2791)

This commit is contained in:
Esperanza Molina 2022-09-22 17:41:55 +02:00 committed by GitHub
parent 8ec516a490
commit 9659930f1b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 22 additions and 1 deletions

View File

@ -73,14 +73,19 @@ function isEventInDateRange (
const today: Date = new Date()
const eventStartDate: Date = new Date(startDate)
const eventEndDate: Date = new Date(endDate)
const isFutureRange: boolean = days > 0
const isFutureRange: boolean = days >= 0
const isOngoingEvent: boolean = eventStartDate <= today && today <= eventEndDate
const isToday: boolean = eventStartDate.getDate() === today.getDate() && eventStartDate.getMonth() === today.getMonth() && eventStartDate.getFullYear() === today.getFullYear()
let eventDateToCheck: Date
// Determine which date to check based on the days parameter and checking if
// the event's dates are valid.
if (isFutureRange && isOngoingEvent) {
return true
} else if (isFutureRange && isToday) {
return true
} else if (!isFutureRange && isToday) {
return false
} else if (!isFutureRange && !isNaN(eventEndDate.getTime())) {
eventDateToCheck = eventEndDate
} else if (!isNaN(eventStartDate.getTime())) {

View File

@ -91,6 +91,14 @@ describe('isEventInDateRange', () => {
}
expect(isEventInDateRange(mockEvent, days)).toBe(true)
// Event starts today
mockEvent = {
...mockEventBase,
startDate: getFormattedDate(0),
endDate: ''
}
expect(isEventInDateRange(mockEvent, days)).toBe(true)
// Event starts within the next 15 days and ends after 15 days
mockEvent = {
...mockEventBase,
@ -143,6 +151,14 @@ describe('isEventInDateRange', () => {
}
expect(isEventInDateRange(mockEvent, days)).toBe(false)
// Event starts today
mockEvent = {
...mockEventBase,
startDate: getFormattedDate(0),
endDate: ''
}
expect(isEventInDateRange(mockEvent, days)).toBe(false)
// Event started 100 days ago and end in 100 days (ongoing event)
mockEvent = {
...mockEventBase,