Daan De Deckere
2018-02-12 d40f6d89bf9084e5d03df1aeea8bffd67662f0c0
test/tests.spec.js
@@ -1087,6 +1087,64 @@
   });
   describe('onNavigateForward', () => {
      it('when moving to next month', () => {
         const component = utils.createDatetime({ onNavigateForward: (amount, type) => {
            expect(amount).toEqual(1);
            expect(type).toEqual('months');
         }});
         utils.clickOnElement(component.find('.rdtNext'));
      });
      it('when moving to next year', () => {
         const component = utils.createDatetime({ viewMode: 'months', onNavigateForward: (amount, type) => {
            expect(amount).toEqual(1);
            expect(type).toEqual('years');
         }});
         utils.clickOnElement(component.find('.rdtNext'));
      });
      it('when moving decade forward', () => {
         const component = utils.createDatetime({ viewMode: 'years', onNavigateForward: (amount, type) => {
            expect(amount).toEqual(10);
            expect(type).toEqual('years');
         }});
         utils.clickOnElement(component.find('.rdtNext'));
      });
   });
   describe('onNavigateBack', () => {
      it('when moving to previous month', () => {
         const component = utils.createDatetime({ onNavigateBack: (amount, type) => {
            expect(amount).toEqual(1);
            expect(type).toEqual('months');
         }});
         utils.clickOnElement(component.find('.rdtPrev'));
      });
      it('when moving to previous year', () => {
         const component = utils.createDatetime({ viewMode: 'months', onNavigateBack: (amount, type) => {
            expect(amount).toEqual(1);
            expect(type).toEqual('years');
         }});
         utils.clickOnElement(component.find('.rdtPrev'));
      });
      it('when moving decade back', () => {
         const component = utils.createDatetime({ viewMode: 'years', onNavigateBack: (amount, type) => {
            expect(amount).toEqual(10);
            expect(type).toEqual('years');
         }});
         utils.clickOnElement(component.find('.rdtPrev'));
      });
   });
   describe('with set value', () => {
      it('date value', () => {
         const date = new Date(2000, 0, 15, 2, 2, 2, 2),
@@ -1174,54 +1232,5 @@
         component.find('.form-control').simulate('change', { target: { value: strDate }});
      });
   });
   describe('with viewDate', () => {
    it('date value', () => {
      const date = new Date(2000, 0, 15, 2, 2, 2, 2),
          strDate = moment(date).format('MMMM YYYY'),
          component = utils.createDatetime({ viewDate: date });
      expect(utils.getViewDateValue(component)).toEqual(strDate);
    });
    it('moment value', () => {
      const date = new Date(2000, 0, 15, 2, 2, 2, 2),
          mDate = moment(date),
          strDate = mDate.format('MMMM YYYY'),
          component = utils.createDatetime({ viewDate: mDate });
      expect(utils.getViewDateValue(component)).toEqual(strDate);
    });
    it('string value', () => {
      const date = new Date(2000, 0, 15, 2, 2, 2, 2),
          mDate = moment(date),
          strDate = mDate.format('L') + ' ' + mDate.format('LT'),
          expectedStrDate = mDate.format('MMMM YYYY'),
          component = utils.createDatetime({ viewDate: strDate });
      expect(utils.getViewDateValue(component)).toEqual(expectedStrDate);
    });
    it('UTC value from UTC string', () => {
      const date = new Date(2000, 0, 15, 2, 2, 2, 2),
          momentDateUTC = moment.utc(date),
          strDateUTC = momentDateUTC.format('L') + ' ' + momentDateUTC.format('LT'),
          expectedStrDate = momentDateUTC.format('MMMM YYYY'),
          component = utils.createDatetime({ viewDate: strDateUTC, utc: true });
      expect(utils.getViewDateValue(component)).toEqual(expectedStrDate);
    });
    it('invalid string value', () => {
      const strDate = 'invalid string',
          expectedStrDate = moment().format('MMMM YYYY'),
          component = utils.createDatetime({ viewDate: strDate });
      expect(utils.getViewDateValue(component)).toEqual(expectedStrDate);
    });
    it('invalid moment object', () => {
      const mDate = moment(null),
          expectedStrDate = moment().format('MMMM YYYY'),
          component = utils.createDatetime({ viewDate: mDate });
      expect(utils.getViewDateValue(component)).toEqual(expectedStrDate);
    });
   });
});