Skip to content

Commit 87fa1bf

Browse files
committed
fix(time-picker): Fixing test. #3978.
1 parent 2f4dbee commit 87fa1bf

File tree

2 files changed

+46
-24
lines changed

2 files changed

+46
-24
lines changed

projects/igniteui-angular/src/lib/time-picker/time-picker.component.spec.ts

+37-15
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import { InteractionMode } from '../core/enums';
1212
import { IgxIconModule } from '../icon';
1313
import { IgxToggleModule } from '../directives/toggle/toggle.directive';
1414
import { CancelableBrowserEventArgs, IBaseEventArgs } from '../core/utils';
15-
import { IgxHourItemDirective, IgxItemListDirective, IgxMinuteItemDirective, IgxSecondsItemDirective, IgxAmPmItemDirective } from './time-picker.directives';
15+
import { IgxHourItemDirective, IgxMinuteItemDirective, IgxSecondsItemDirective, IgxAmPmItemDirective } from './time-picker.directives';
1616

1717
// tslint:disable: no-use-before-declare
1818
describe('IgxTimePicker', () => {
@@ -1677,43 +1677,65 @@ describe('IgxTimePicker', () => {
16771677
timePicker.minValue = '09:15:10 AM';
16781678
timePicker.maxValue = '11:15:10 AM';
16791679

1680-
// timePicker.minValue = '06:45:57 AM';
1681-
// timePicker.maxValue = '6:55:59 PM';
1682-
1683-
fixture.detectChanges();
1684-
const minValue = timePicker.convertMinMaxValue(timePicker.minValue);
1685-
const maxValue = timePicker.convertMinMaxValue(timePicker.maxValue);
16861680
fixture.detectChanges();
16871681
timePicker.value = date;
16881682

1689-
const iconTime = dom.queryAll(By.css('.igx-icon'))[0];
1690-
UIInteractions.simulateClickAndSelectEvent(iconTime);
1683+
timePicker.openDialog();
16911684
fixture.detectChanges();
16921685
const hoursList = fixture.debugElement.queryAll(By.directive(IgxHourItemDirective));
16931686
const minutesList = fixture.debugElement.queryAll(By.directive(IgxMinuteItemDirective));
16941687
const secondsList = fixture.debugElement.queryAll(By.directive(IgxSecondsItemDirective));
16951688
const ampmList = fixture.debugElement.queryAll(By.directive(IgxAmPmItemDirective));
16961689

16971690
let hoursListItem = (hoursList.find(t => t.nativeElement.innerHTML === '09')).injector.get(IgxHourItemDirective);
1698-
fixture.detectChanges();
16991691
let minutesListItem = (minutesList.find(t => t.nativeElement.innerHTML === '55')).injector.get(IgxMinuteItemDirective);
1700-
fixture.detectChanges();
17011692
let secondsListItem = (secondsList.find(t => t.nativeElement.innerHTML === '58')).injector.get(IgxSecondsItemDirective);
1702-
fixture.detectChanges();
1693+
let ampmListItem = (ampmList.find(t => t.nativeElement.innerHTML === 'AM')).injector.get(IgxAmPmItemDirective);
17031694

17041695
expect(hoursListItem.applyDisabledStyleForHours).toBe(false);
17051696
expect(minutesListItem.applyDisabledStyleForMinutes).toBe(false);
17061697
expect(secondsListItem.applyDisabledStyleForSeconds).toBe(false);
1698+
expect(ampmListItem.applyDisabledStyleForAmPm).toBe(false);
17071699

1708-
hoursListItem = (hoursList.find(t => t.nativeElement.innerHTML === '06')).injector.get(IgxHourItemDirective);
1700+
timePicker.scrollAmPmIntoView('PM');
17091701
fixture.detectChanges();
1702+
ampmListItem = (ampmList.find(t => t.nativeElement.innerHTML === 'PM')).injector.get(IgxAmPmItemDirective);
1703+
1704+
expect(hoursListItem.applyDisabledStyleForHours).toBe(true);
1705+
expect(minutesListItem.applyDisabledStyleForMinutes).toBe(true);
1706+
expect(secondsListItem.applyDisabledStyleForSeconds).toBe(true);
1707+
expect(ampmListItem.applyDisabledStyleForAmPm).toBe(true);
1708+
1709+
hoursListItem = (hoursList.find(t => t.nativeElement.innerHTML === '06')).injector.get(IgxHourItemDirective);
17101710
minutesListItem = (minutesList.find(t => t.nativeElement.innerHTML === '35')).injector.get(IgxMinuteItemDirective);
1711-
fixture.detectChanges();
17121711
secondsListItem = (secondsList.find(t => t.nativeElement.innerHTML === '55')).injector.get(IgxSecondsItemDirective);
1713-
fixture.detectChanges();
1712+
17141713
expect(hoursListItem.applyDisabledStyleForHours).toBe(true);
17151714
expect(minutesListItem.applyDisabledStyleForMinutes).toBe(true);
17161715
expect(secondsListItem.applyDisabledStyleForSeconds).toBe(true);
1716+
expect(ampmListItem.applyDisabledStyleForAmPm).toBe(true);
1717+
1718+
timePicker.minValue = '06:45:57 AM';
1719+
timePicker.maxValue = '06:55:59 AM';
1720+
1721+
hoursListItem = (hoursList.find(t => t.nativeElement.innerHTML === '06')).injector.get(IgxHourItemDirective);
1722+
minutesListItem = (minutesList.find(t => t.nativeElement.innerHTML === '50')).injector.get(IgxMinuteItemDirective);
1723+
secondsListItem = (secondsList.find(t => t.nativeElement.innerHTML === '58')).injector.get(IgxSecondsItemDirective);
1724+
ampmListItem = (ampmList.find(t => t.nativeElement.innerHTML === 'AM')).injector.get(IgxAmPmItemDirective);
1725+
1726+
timePicker.scrollHourIntoView('06');
1727+
fixture.detectChanges();
1728+
timePicker.scrollMinuteIntoView('50');
1729+
fixture.detectChanges();
1730+
timePicker.scrollSecondsIntoView('58');
1731+
fixture.detectChanges();
1732+
timePicker.scrollAmPmIntoView('AM');
1733+
fixture.detectChanges();
1734+
1735+
expect(hoursListItem.applyDisabledStyleForHours).toBe(false);
1736+
expect(minutesListItem.applyDisabledStyleForMinutes).toBe(false);
1737+
expect(secondsListItem.applyDisabledStyleForSeconds).toBe(false);
1738+
expect(ampmListItem.applyDisabledStyleForAmPm).toBe(false);
17171739
}));
17181740
});
17191741

projects/igniteui-angular/src/lib/time-picker/time-picker.directives.ts

+9-9
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@ export class IgxHourItemDirective {
271271
if (this.minValueDate === undefined || this.maxValueDate === undefined) {
272272
return false;
273273
}
274-
let hour = parseInt(this.value);
274+
let hour = parseInt(this.value, 10);
275275
if (this.selectedAmPm === 'PM') {
276276
hour += 12;
277277
}
@@ -339,8 +339,8 @@ export class IgxMinuteItemDirective {
339339
if (this.minValueDate === undefined || this.maxValueDate === undefined) {
340340
return false;
341341
}
342-
const minute = parseInt(this.value);
343-
let hour = parseInt(this.selectedHour);
342+
const minute = parseInt(this.value, 10);
343+
let hour = parseInt(this.selectedHour, 10);
344344
if (this.selectedAmPm === 'PM') {
345345
hour += 12;
346346
}
@@ -412,9 +412,9 @@ export class IgxSecondsItemDirective {
412412
if (this.minValueDate === undefined || this.maxValueDate === undefined) {
413413
return false;
414414
}
415-
const minute = parseInt(this.selectedMinute);
416-
let hour = parseInt(this.selectedHour);
417-
const second = parseInt(this.value);
415+
const minute = parseInt(this.selectedMinute, 10);
416+
let hour = parseInt(this.selectedHour, 10);
417+
const second = parseInt(this.value, 10);
418418
if (this.selectedAmPm === 'PM') {
419419
hour += 12;
420420
}
@@ -487,9 +487,9 @@ export class IgxAmPmItemDirective {
487487
if (this.minValueDate === undefined || this.maxValueDate === undefined) {
488488
return false;
489489
}
490-
const minute = parseInt(this.selectedMinute);
491-
let hour = parseInt(this.selectedHour);
492-
const second = parseInt(this.selectedSecond);
490+
const minute = parseInt(this.selectedMinute, 10);
491+
let hour = parseInt(this.selectedHour, 10);
492+
const second = parseInt(this.selectedSecond, 10);
493493
const amPM = this.value;
494494
if (amPM === 'PM') {
495495
hour += 12;

0 commit comments

Comments
 (0)