From 5377a9c3033f36d6adddc3aefcde415d50fdb3c1 Mon Sep 17 00:00:00 2001 From: Simon Egersand <s.egersand@gmail.com> Date: Sat, 29 Jul 2017 19:46:27 +0200 Subject: [PATCH] Add callback on view mode changes --- test/tests.spec.js | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 58 insertions(+), 0 deletions(-) diff --git a/test/tests.spec.js b/test/tests.spec.js index 056df79..a59d821 100644 --- a/test/tests.spec.js +++ b/test/tests.spec.js @@ -882,6 +882,64 @@ expect(onFocusFn).toHaveBeenCalledTimes(1); }); + describe('onViewModeChange', () => { + it('when switch from days to time view mode', () => { + const component = utils.createDatetime({ onViewModeChange: (viewMode) => { + expect(viewMode).toEqual('time'); + }}); + expect(utils.isDayView(component)).toBeTruthy(); + utils.clickOnElement(component.find('.rdtTimeToggle')); + expect(utils.isTimeView(component)).toBeTruthy(); + }); + + it('when switch from time to days view mode', () => { + const component = utils.createDatetime({ viewMode: 'time', onViewModeChange: (viewMode) => { + expect(viewMode).toEqual('days'); + }}); + expect(utils.isTimeView(component)).toBeTruthy(); + utils.clickOnElement(component.find('.rdtSwitch')); + expect(utils.isDayView(component)).toBeTruthy(); + }); + + it('when switch from days to months view mode', () => { + const component = utils.createDatetime({ onViewModeChange: (viewMode) => { + expect(viewMode).toEqual('months'); + }}); + expect(utils.isDayView(component)).toBeTruthy(); + utils.clickOnElement(component.find('.rdtSwitch')); + expect(utils.isMonthView(component)).toBeTruthy(); + }); + + it('when switch from months to years view mode', () => { + const component = utils.createDatetime({ viewMode: 'months', onViewModeChange: (viewMode) => { + expect(viewMode).toEqual('years'); + }}); + expect(utils.isMonthView(component)).toBeTruthy(); + utils.clickOnElement(component.find('.rdtSwitch')); + expect(utils.isYearView(component)).toBeTruthy(); + }); + + it('only when switch from years to months view mode', () => { + const component = utils.createDatetime({ viewMode: 'years', onViewModeChange: (viewMode) => { + expect(viewMode).toEqual('months'); + }}); + expect(utils.isYearView(component)).toBeTruthy(); + utils.clickOnElement(component.find('.rdtSwitch')); + expect(utils.isYearView(component)).toBeTruthy(); + utils.clickNthYear(component, 2); + expect(utils.isMonthView(component)).toBeTruthy(); + }); + + it('when switch from months to days view mode', () => { + const component = utils.createDatetime({ viewMode: 'months', onViewModeChange: (viewMode) => { + expect(viewMode).toEqual('days'); + }}); + expect(utils.isMonthView(component)).toBeTruthy(); + utils.clickNthMonth(component, 2); + expect(utils.isDayView(component)).toBeTruthy(); + }); + }); + describe('onChange', () => { it('trigger only when last selection type is selected', () => { // By selection type I mean if you CAN select day, then selecting a month -- Gitblit v1.9.3