Skip to content

Commit bbc66f8

Browse files
Merge pull request #86 from SAP/update-unit-tests
Update unit tests
2 parents 1388167 + f2aae15 commit bbc66f8

File tree

6 files changed

+234
-48
lines changed

6 files changed

+234
-48
lines changed

src/DatePicker/DatePicker.test.js

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ describe('<DatePicker />', () => {
180180
wrapper.find('input[type="text"]').simulate('keypress', { key: 'Enter' });
181181

182182
wrapper = mount(defaultDatePicker);
183-
const date = new Date();
183+
let date = new Date();
184184
wrapper.instance().updateDate(date);
185185
expect(wrapper.state('selectedDate')).toEqual(date);
186186
formattedDate = `${date.getMonth() +
@@ -207,15 +207,26 @@ describe('<DatePicker />', () => {
207207

208208
expect(wrapper.instance().formatDate([])).toEqual('');
209209

210+
// enter end year of 3001
211+
wrapper = mount(rangeDatePicker);
212+
213+
startRangeDate = new Date();
214+
endRangeDate = new Date();
215+
endRangeDate.setFullYear(3001);
216+
217+
arrDates = [startRangeDate, endRangeDate];
218+
expect(wrapper.instance().formatDate(arrDates)).toEqual('');
219+
220+
expect(wrapper.instance().formatDate([])).toEqual('');
221+
222+
// default date picker format date
210223
wrapper = mount(defaultDatePicker);
211224
startRangeDate = new Date();
212225

213226
formattedDate = `${startRangeDate.getMonth() +
214227
1}/${startRangeDate.getDate()}/${startRangeDate.getFullYear()}`;
215228

216229
expect(wrapper.instance().formatDate(startRangeDate)).toEqual('');
217-
218-
arrDates = [startRangeDate];
219230
});
220231

221232
test('modify date on change', () => {

src/Time/Time.js

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -246,11 +246,11 @@ class TimeItem extends Component {
246246
const { style, arialabel } = this.state;
247247
const { type, placeholder, disabled, spinners } = this.props;
248248
return (
249-
<div className='fd-time__item'>
249+
<div className="fd-time__item">
250250
{spinners ? (
251-
<div className='fd-time__control'>
251+
<div className="fd-time__control">
252252
<button
253-
className=' fd-button--light fd-button--xs sap-icon--navigation-up-arrow '
253+
className=" fd-button--light fd-button--xs sap-icon--navigation-up-arrow "
254254
aria-label={arialabel.buttonUp}
255255
disabled={disabled}
256256
onClick={this._onUp}
@@ -259,11 +259,11 @@ class TimeItem extends Component {
259259
) : (
260260
''
261261
)}
262-
<div className='fd-time__input'>
262+
<div className="fd-time__input">
263263
<input
264264
className={style}
265-
type='text'
266-
maxLength='2'
265+
type="text"
266+
maxLength="2"
267267
placeholder={placeholder}
268268
onChange={this.onChange}
269269
value={this.props.value}
@@ -273,9 +273,9 @@ class TimeItem extends Component {
273273
/>
274274
</div>
275275
{spinners ? (
276-
<div className='fd-time__control'>
276+
<div className="fd-time__control">
277277
<button
278-
className=' fd-button--light fd-button--xs sap-icon--navigation-down-arrow'
278+
className=" fd-button--light fd-button--xs sap-icon--navigation-down-arrow"
279279
aria-label={arialabel.buttonDown}
280280
disabled={disabled}
281281
onClick={this._onDown}
@@ -370,9 +370,9 @@ export class Time extends Component {
370370
this.props.onChange(this.state.time);
371371
}
372372
};
373-
onUpdateTime = () => {
374-
this.props.onUpdateTime();
375-
};
373+
// onUpdateTime = () => {
374+
// this.props.onUpdateTime();
375+
// };
376376
render() {
377377
const {
378378
showHour,
@@ -391,7 +391,7 @@ export class Time extends Component {
391391
max = 24;
392392
}
393393
return (
394-
<div id={id} className='fd-time'>
394+
<div id={id} className="fd-time">
395395
{/* Hours */}
396396
{showHour ? (
397397
<TimeItem
@@ -402,7 +402,7 @@ export class Time extends Component {
402402
max={max}
403403
value={time.hour}
404404
updateTime={this.updateTime}
405-
name='hour'
405+
name="hour"
406406
time={time}
407407
format12Hours={format12Hours}
408408
spinners={spinners}
@@ -420,7 +420,7 @@ export class Time extends Component {
420420
max={'60'}
421421
value={this.state.time.minute}
422422
updateTime={this.updateTime}
423-
name='minute'
423+
name="minute"
424424
time={time}
425425
format12Hours={format12Hours}
426426
spinners={spinners}
@@ -438,7 +438,7 @@ export class Time extends Component {
438438
max={'60'}
439439
value={this.state.time.second}
440440
updateTime={this.updateTime}
441-
name='second'
441+
name="second"
442442
time={time}
443443
format12Hours={format12Hours}
444444
spinners={spinners}
@@ -455,7 +455,7 @@ export class Time extends Component {
455455
time={this.state.time}
456456
value={CLOCK[this.state.time.meridiem]}
457457
updateTime={this.updateTime}
458-
name='meridiem'
458+
name="meridiem"
459459
spinners={spinners}
460460
/>
461461
) : (

src/Time/Time.test.js

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -398,6 +398,22 @@ describe('<Time />', () => {
398398
expect(wrapper.state('time').minute).toEqual(0);
399399
expect(wrapper.state('time').second).toEqual(0);
400400

401+
wrapper = mount(
402+
<Time
403+
format12Hours={false}
404+
time={{ hour: 23, minute: 0, second: 0, meridiem: 0 }}
405+
name="meridiem"
406+
/>
407+
);
408+
expect(wrapper.state('time').hour).toEqual(23);
409+
wrapper
410+
.find(
411+
'button.fd-button--light.fd-button--xs.sap-icon--navigation-up-arrow'
412+
)
413+
.at(0)
414+
.simulate('click');
415+
expect(wrapper.state('time').hour).toEqual('00');
416+
401417
wrapper = mount(
402418
<Time
403419
format12Hours={true}
@@ -435,6 +451,23 @@ describe('<Time />', () => {
435451
expect(wrapper.state('time').minute).toEqual(0);
436452
expect(wrapper.state('time').second).toEqual(0);
437453
expect(wrapper.state('time').meridiem).toEqual(0);
454+
455+
wrapper = mount(
456+
<Time
457+
format12Hours={true}
458+
time={{ hour: 11, minute: 0, second: 0, meridiem: 0 }}
459+
name="meridiem"
460+
/>
461+
);
462+
expect(wrapper.state('time').hour).toEqual(11);
463+
wrapper
464+
.find(
465+
'button.fd-button--light.fd-button--xs.sap-icon--navigation-up-arrow'
466+
)
467+
.at(0)
468+
.simulate('click');
469+
expect(wrapper.state('time').hour).toEqual(12);
470+
expect(wrapper.state('time').meridiem).toEqual(1);
438471
});
439472

440473
test('clicking up on minutes', () => {
@@ -456,6 +489,23 @@ describe('<Time />', () => {
456489
expect(wrapper.state('time').minute).toEqual('01');
457490
expect(wrapper.state('time').second).toEqual(0);
458491

492+
wrapper = mount(
493+
<Time
494+
format12Hours={false}
495+
time={{ hour: 24, minute: 59, second: 0, meridiem: 0 }}
496+
name="meridiem"
497+
/>
498+
);
499+
expect(wrapper.state('time').minute).toEqual(59);
500+
wrapper
501+
.find(
502+
'button.fd-button--light.fd-button--xs.sap-icon--navigation-up-arrow'
503+
)
504+
.at(1)
505+
.simulate('click');
506+
expect(wrapper.state('time').hour).toEqual('00');
507+
expect(wrapper.state('time').minute).toEqual('00');
508+
459509
wrapper = mount(
460510
<Time
461511
format12Hours={true}
@@ -475,6 +525,45 @@ describe('<Time />', () => {
475525
expect(wrapper.state('time').second).toEqual(0);
476526
expect(wrapper.state('time').meridiem).toEqual(0);
477527

528+
wrapper = mount(
529+
<Time
530+
format12Hours={true}
531+
time={{ hour: 1, minute: 59, second: 0, meridiem: 0 }}
532+
name="meridiem"
533+
/>
534+
);
535+
expect(wrapper.state('time').hour).toEqual(1);
536+
expect(wrapper.state('time').minute).toEqual(59);
537+
538+
wrapper
539+
.find(
540+
'button.fd-button--light.fd-button--xs.sap-icon--navigation-up-arrow'
541+
)
542+
.at(1)
543+
.simulate('click');
544+
expect(wrapper.state('time').hour).toEqual('01');
545+
expect(wrapper.state('time').minute).toEqual('00');
546+
547+
wrapper = mount(
548+
<Time
549+
format12Hours={true}
550+
time={{ hour: 11, minute: 59, second: 0, meridiem: 0 }}
551+
name="meridiem"
552+
/>
553+
);
554+
expect(wrapper.state('time').hour).toEqual(11);
555+
expect(wrapper.state('time').minute).toEqual(59);
556+
557+
wrapper
558+
.find(
559+
'button.fd-button--light.fd-button--xs.sap-icon--navigation-up-arrow'
560+
)
561+
.at(1)
562+
.simulate('click');
563+
expect(wrapper.state('time').hour).toEqual(12);
564+
expect(wrapper.state('time').minute).toEqual('00');
565+
expect(wrapper.state('time').meridiem).toEqual(1);
566+
478567
wrapper = mount(
479568
<Time
480569
format12Hours={true}

src/TimePicker/TimePicker.js

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -114,11 +114,12 @@ class TimePickerItem extends Component {
114114
//validate hh:mm and mm:ss
115115
let regex = new RegExp('(1[0-2]|0?[0-9]):([0-5][0-9])');
116116
this.inputCheck(regex, value);
117-
} else if (showHour && showMinute && showSecond && !format12Hours) {
118-
//validate hh:mm:ss
119-
let regex = new RegExp('(1[0-2]|0?[0-9]):([0-5][0-9]):([0-5][0-9])');
120-
this.inputCheck(regex, value);
121117
}
118+
// else if (showHour && showMinute && showSecond && !format12Hours) {
119+
// //validate hh:mm:ss
120+
// let regex = new RegExp('(1[0-2]|0?[0-9]):([0-5][0-9]):([0-5][0-9])');
121+
// this.inputCheck(regex, value);
122+
// }
122123
};
123124
/**
124125
* @param {string} regex
@@ -353,9 +354,9 @@ export class TimePicker extends React.Component {
353354
return { time: time, value: value };
354355
});
355356
};
356-
updateTime = time => {
357-
this.setState({ time: time });
358-
};
357+
// updateTime = time => {
358+
// this.setState({ time: time });
359+
// };
359360
updateValue = value => {
360361
this.setState({ value: value });
361362
};
@@ -379,22 +380,22 @@ export class TimePicker extends React.Component {
379380
}
380381
return value;
381382
};
382-
formatPlaceHolder = () => {
383-
let value = '';
384-
if (this.state.showHour) {
385-
value = 'hh';
386-
}
387-
if (this.state.showMinute) {
388-
value = value ? value + ':mm' : 'mm';
389-
}
390-
if (this.state.showSecond) {
391-
value = value ? value + ':ss' : 'ss';
392-
}
393-
if (this.state.format12Hours) {
394-
value = value + ' am/pm';
395-
}
396-
return value;
397-
};
383+
// formatPlaceHolder = () => {
384+
// let value = '';
385+
// if (this.state.showHour) {
386+
// value = 'hh';
387+
// }
388+
// if (this.state.showMinute) {
389+
// value = value ? value + ':mm' : 'mm';
390+
// }
391+
// if (this.state.showSecond) {
392+
// value = value ? value + ':ss' : 'ss';
393+
// }
394+
// if (this.state.format12Hours) {
395+
// value = value + ' am/pm';
396+
// }
397+
// return value;
398+
// };
398399
render() {
399400
const { id, ...props } = this.props;
400401
const { popoverId, timeId } = this.state;

0 commit comments

Comments
 (0)