import { CalendarWrapper } from '../lib/wrappers/CalendarWrapper.js' describe('removeEventSources', () => { pushOptions({ initialDate: '2014-08-01', initialView: 'timeGridDay', eventSources: [ buildEventSource(1), buildEventSource(2), buildEventSource(3), ], }) describe('when called with no arguments', () => { it('removes all sources', () => { let calendar = initCalendar() let calendarWrapper = new CalendarWrapper(calendar) expect(calendarWrapper.getEventEls().length).toBe(3) calendar.removeAllEventSources() expect(calendarWrapper.getEventEls().length).toBe(0) }) }) describe('when called with specific IDs', () => { it('removes only events with matching sources', () => { let calendar = initCalendar() let calendarWrapper = new CalendarWrapper(calendar) expect(calendarWrapper.getEventEls().length).toBe(3) calendar.getEventSourceById('1').remove() calendar.getEventSourceById('3').remove() expect(calendarWrapper.getEventEls().length).toBe(1) expect($('.event2').length).toBe(1) }) }) function buildEventSource(id) { return { id, events(arg, callback) { callback([{ title: 'event' + id, className: 'event' + id, start: '2014-08-01T02:00:00', }]) }, } } })