|
2 | 2 |
|
3 | 3 | import React from 'react'; // eslint-disable-line no-unused-vars |
4 | 4 | import moment from 'moment'; |
| 5 | +import _momentTimezone from 'moment-timezone'; // eslint-disable-line no-unused-vars |
5 | 6 | import utils from './testUtils'; |
6 | 7 | import Enzyme from 'enzyme'; |
7 | 8 | import Adapter from 'enzyme-adapter-react-15'; |
@@ -877,6 +878,34 @@ describe('Datetime', () => { |
877 | 878 | }); |
878 | 879 | }); |
879 | 880 |
|
| 881 | + it('displayTimeZone -> value should change format (undefined->America/New_York)', () => { |
| 882 | + const date = new Date(2000, 0, 15, 2, 2, 2, 2), |
| 883 | + momentDate = moment(date), |
| 884 | + component = utils.createDatetime({ value: momentDate }), |
| 885 | + displayTimeZone = (moment.tz.guess() === 'America/New_York' ? 'America/Los_Angeles' : 'America/New_York'); |
| 886 | + |
| 887 | + const valueBefore = utils.getInputValue(component); |
| 888 | + component.setProps({ displayTimeZone: displayTimeZone }, () => { |
| 889 | + const valueAfter = utils.getInputValue(component); |
| 890 | + |
| 891 | + expect(valueBefore).not.toEqual(valueAfter); |
| 892 | + }); |
| 893 | + }); |
| 894 | + |
| 895 | + it('displayTimeZone -> value should change format (America/New_York->undefined)', () => { |
| 896 | + const date = new Date(2000, 0, 15, 2, 2, 2, 2), |
| 897 | + momentDate = moment(date), |
| 898 | + displayTimeZone = (moment.tz.guess() === 'America/New_York' ? 'America/Los_Angeles' : 'America/New_York'), |
| 899 | + component = utils.createDatetime({ value: momentDate, displayTimeZone: displayTimeZone }); |
| 900 | + |
| 901 | + const valueBefore = utils.getInputValue(component); |
| 902 | + component.setProps({ displayTimeZone: undefined }, () => { |
| 903 | + const valueAfter = utils.getInputValue(component); |
| 904 | + |
| 905 | + expect(valueBefore).not.toEqual(valueAfter); |
| 906 | + }); |
| 907 | + }); |
| 908 | + |
880 | 909 | it('locale -> picker should change language (viewMode=days)', () => { |
881 | 910 | const component = utils.createDatetime({ viewMode: 'days', locale: 'nl' }), |
882 | 911 | weekdaysBefore = component.find('.rdtDays .dow').map((element) => |
@@ -1195,6 +1224,26 @@ describe('Datetime', () => { |
1195 | 1224 | expect(utils.getInputValue(component)).toEqual(strDateUTC); |
1196 | 1225 | }); |
1197 | 1226 |
|
| 1227 | + it('TZ value from local moment', () => { |
| 1228 | + const date = new Date(2000, 0, 15, 2, 2, 2, 2), |
| 1229 | + displayTimeZone = 'America/New_York', |
| 1230 | + momentDate = moment(date), |
| 1231 | + momentDateTZ = moment.tz(date, displayTimeZone), |
| 1232 | + strDateTZ = momentDateTZ.format('L') + ' ' + momentDateTZ.format('LT'), |
| 1233 | + component = utils.createDatetime({ value: momentDate, displayTimeZone: displayTimeZone }); |
| 1234 | + expect(utils.getInputValue(component)).toEqual(strDateTZ); |
| 1235 | + }); |
| 1236 | + |
| 1237 | + it('TZ value from UTC moment', () => { |
| 1238 | + const date = new Date(2000, 0, 15, 2, 2, 2, 2), |
| 1239 | + displayTimeZone = 'America/New_York', |
| 1240 | + momentDateUTC = moment.utc(date), |
| 1241 | + momentDateTZ = moment.tz(date, displayTimeZone), |
| 1242 | + strDateTZ = momentDateTZ.format('L') + ' ' + momentDateTZ.format('LT'), |
| 1243 | + component = utils.createDatetime({ value: momentDateUTC, displayTimeZone: displayTimeZone }); |
| 1244 | + expect(utils.getInputValue(component)).toEqual(strDateTZ); |
| 1245 | + }); |
| 1246 | + |
1198 | 1247 | it('invalid string value', (done) => { |
1199 | 1248 | const date = new Date(2000, 0, 15, 2, 2, 2, 2), |
1200 | 1249 | mDate = moment(date), |
|
0 commit comments