import { Calendar } from '@fullcalendar/core' import dayGridPlugin from '@fullcalendar/daygrid' describe('datesSet', () => { pushOptions({ initialView: 'dayGridMonth', now: '2020-06-21', }) it('won\'t fire when a non-dateprofile-related option is reset', () => { let fireCnt = 0 let options = { ...getCurrentOptions(), weekNumbers: false, datesSet() { fireCnt += 1 }, } let $calendarEl = $('
').appendTo('body') let calendar = new Calendar($calendarEl[0], options) calendar.render() expect(fireCnt).toBe(1) calendar.resetOptions({ ...options, weekNumbers: true, }) expect(fireCnt).toBe(1) calendar.destroy() $calendarEl.remove() }) it('won\'t fire when a complex object-like option is reset', () => { function buildHeaderToolbar() { return { left: 'today', } } let fireCnt = 0 let options = { ...getCurrentOptions(), headerToolbar: buildHeaderToolbar(), datesSet() { fireCnt += 1 }, } let $calendarEl = $('
').appendTo('body') let calendar = new Calendar($calendarEl[0], options) calendar.render() expect(fireCnt).toBe(1) calendar.resetOptions({ ...options, headerToolbar: buildHeaderToolbar(), }) expect(fireCnt).toBe(1) calendar.destroy() $calendarEl.remove() }) it('won\'t fire when plugins option is reset', () => { let fireCnt = 0 let options = { ...getCurrentOptions(), plugins: [dayGridPlugin], datesSet() { fireCnt += 1 }, } let $calendarEl = $('
').appendTo('body') let calendar = new Calendar($calendarEl[0], options) calendar.render() expect(fireCnt).toBe(1) calendar.resetOptions({ ...options, plugins: [dayGridPlugin], }) expect(fireCnt).toBe(1) calendar.destroy() $calendarEl.remove() }) })