Skip to content

Commit

Permalink
Adds two more scenarios to month view tests
Browse files Browse the repository at this point in the history
  • Loading branch information
njpearman committed Nov 13, 2020
1 parent 4af7df0 commit 746f0db
Show file tree
Hide file tree
Showing 4 changed files with 133 additions and 8 deletions.
22 changes: 22 additions & 0 deletions packages/__tests__/src/icalendar/data/oneHourMeeting.ts
@@ -0,0 +1,22 @@
export default `BEGIN:VCALENDAR
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-CALNAME:events@fullcalendar.test
X-WR-TIMEZONE:Europe/Paris
BEGIN:VEVENT
DTSTART:20190415T093000Z
DTEND:20190415T103000Z
DTSTAMP:20201006T124223Z
UID:12345678
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;CN=test@fullcalendar.test;X-NUM-GUESTS=0:mailto:test@fullcalendar.test
CREATED:20190412T223947Z
DESCRIPTION:
LAST-MODIFIED:20190412T223947Z
LOCATION:
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:Hour long meeting
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR`
87 changes: 87 additions & 0 deletions packages/__tests__/src/icalendar/data/recurringWeeklyMeeting.ts
@@ -0,0 +1,87 @@
export default `BEGIN:VCALENDAR
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-CALNAME:events@fullcalendar.test
X-WR-TIMEZONE:Europe/Paris
BEGIN:VEVENT
DTSTART;TZID=Europe/Zurich:20190401T173000
DTEND;TZID=Europe/Zurich:20190401T183000
RRULE:FREQ=WEEKLY;WKST=MO;BYDAY=MO
DTSTAMP:20201006T124223Z
ORGANIZER;CN=Testy McTestface:mailto:test@fullcalendar.test
UID:12345678
CREATED:20181210T150458Z
DESCRIPTION:
LAST-MODIFIED:20190508T170523Z
LOCATION:
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:Weekly Monday meeting
TRANSP:OPAQUE
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=Europe/Zurich:20190408T173000
DTEND;TZID=Europe/Zurich:20190408T183000
RRULE:FREQ=WEEKLY;WKST=MO;BYDAY=MO
DTSTAMP:20201006T124223Z
ORGANIZER;CN=Testy McTestface:mailto:test@fullcalendar.test
UID:12345678
CREATED:20181210T150458Z
DESCRIPTION:
LAST-MODIFIED:20190508T170523Z
LOCATION:
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:Weekly Monday meeting
TRANSP:OPAQUE
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=Europe/Zurich:20190415T173000
DTEND;TZID=Europe/Zurich:20190415T183000
RRULE:FREQ=WEEKLY;WKST=MO;BYDAY=MO
DTSTAMP:20201006T124223Z
ORGANIZER;CN=Testy McTestface:mailto:test@fullcalendar.test
UID:12345678
CREATED:20181210T150458Z
DESCRIPTION:
LAST-MODIFIED:20190508T170523Z
LOCATION:
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:Weekly Monday meeting
TRANSP:OPAQUE
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=Europe/Zurich:20190422T173000
DTEND;TZID=Europe/Zurich:20190422T183000
RRULE:FREQ=WEEKLY;WKST=MO;BYDAY=MO
DTSTAMP:20201006T124223Z
ORGANIZER;CN=Testy McTestface:mailto:test@fullcalendar.test
UID:12345678
CREATED:20181210T150458Z
DESCRIPTION:
LAST-MODIFIED:20190508T170523Z
LOCATION:
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:Weekly Monday meeting
TRANSP:OPAQUE
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=Europe/Zurich:20190429T173000
DTEND;TZID=Europe/Zurich:20190429T183000
RRULE:FREQ=WEEKLY;WKST=MO;BYDAY=MO
DTSTAMP:20201006T124223Z
ORGANIZER;CN=Testy McTestface:mailto:test@fullcalendar.test
UID:12345678
CREATED:20181210T150458Z
DESCRIPTION:
LAST-MODIFIED:20190508T170523Z
LOCATION:
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:Weekly Monday meeting
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR`
26 changes: 23 additions & 3 deletions packages/__tests__/src/icalendar/month-view.ts
Expand Up @@ -6,6 +6,8 @@ import iCalendarPlugin from '../../../icalendar/main'

import singleEvent from './data/singleEvent'
import multipleEvents from './data/multipleEvents'
import oneHourMeeting from './data/oneHourMeeting'
import recurringWeeklyMeeting from './data/recurringWeeklyMeeting'

describe('addICalEventSource', function() {
const ICAL_MIME_TYPE = 'text/calendar'
Expand All @@ -20,7 +22,7 @@ describe('addICalEventSource', function() {

afterEach(function() { XHRMock.teardown() })

it('correctly adds a single event', async (done) => {
it('correctly adds a single multi-day event', async (done) => {
loadICalendarWith(singleEvent, () => {
setTimeout(() => {
assertEventCount(1)
Expand All @@ -29,7 +31,7 @@ describe('addICalEventSource', function() {
})
})

it('correctly adds multiple events', async (done) => {
it('correctly adds multiple multi-day events', async (done) => {
loadICalendarWith(multipleEvents, () => {
setTimeout(() => {
assertEventCount(2)
Expand All @@ -38,6 +40,24 @@ describe('addICalEventSource', function() {
})
})

it('correctly adds a one-hour long meeting', async (done) => {
loadICalendarWith(oneHourMeeting, () => {
setTimeout(() => {
assertEventCount(1)
done()
}, 200)
})
})

it('correctly adds a repeating weekly meeting', async (done) => {
loadICalendarWith(recurringWeeklyMeeting, () => {
setTimeout(() => {
assertEventCount(5)
done()
}, 200)
})
})

function loadICalendarWith(rawICal: string, assertions: () => void) {
const feedUrl = '/mock.ics'

Expand All @@ -58,7 +78,7 @@ describe('addICalEventSource', function() {

// Checks to make sure all events have been rendered and that the calendar
// has internal info on all the events.
function assertEventCount(expectedCount) {
function assertEventCount(expectedCount: number) {
expect(currentCalendar.getEvents().length).toEqual(expectedCount)

let calendarWrapper = new CalendarWrapper(currentCalendar)
Expand Down
6 changes: 1 addition & 5 deletions packages/icalendar/src/main.ts
Expand Up @@ -13,11 +13,7 @@ export function requestICal(url: string, successCallback: Success, failureCallba

xhr.onload = function() {
if (xhr.status >= 200 && xhr.status < 400) {

const iCalFeed = xhr.responseText
console.log(iCalFeed)

successCallback(iCalFeed, xhr)
successCallback(xhr.responseText, xhr)
} else {
failureCallback('Request failed', xhr)
}
Expand Down

0 comments on commit 746f0db

Please sign in to comment.