// // // // import {ComponentFixture, TestBed} from '@angular/core/testing'; // import {By} from '@angular/platform-browser'; // import {DebugElement} from '@angular/core'; // import {MyDatePicker} from './my-date-picker.component'; // import {FocusDirective} from './directives/my-date-picker.focus.directive'; // import {InputAutoFillDirective} from './directives/my-date-picker.input.auto.fill.directive'; // // let comp: MyDatePicker; // let fixture: ComponentFixture; // let de: DebugElement; // let el: HTMLElement; // // let PREVMONTH: string = '.header tr td:first-child div .headerbtncell:first-child .headerbtn'; // let NEXTMONTH: string = '.header tr td:first-child div .headerbtncell:last-child .headerbtn'; // let PREVYEAR: string = '.header tr td:last-child div .headerbtncell:first-child .headerbtn'; // let NEXTYEAR: string = '.header tr td:last-child div .headerbtncell:last-child .headerbtn'; // // function getDateString(date:any):string { // return date.getFullYear() + '-' + ((date.getMonth() + 1) < 10 ? '0' + (date.getMonth() + 1) : (date.getMonth() + 1)) + '-' + (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()); // } // // function getElement(id:string):DebugElement { // return de.query(By.css(id)); // } // // function getElements(id:string):Array { // return de.queryAll(By.css(id)); // } // // describe('MyDatePicker', () => { // beforeEach(() => { // TestBed.configureTestingModule({ // declarations: [MyDatePicker, FocusDirective, InputAutoFillDirective], // }); // // fixture = TestBed.createComponent(MyDatePicker); // // comp = fixture.componentInstance; // // de = fixture.debugElement.query(By.css('.mydp')); // el = de.nativeElement; // }); // // it('set valid date', () => { // comp.selectionDayTxt = '2016-08-22'; // fixture.detectChanges(); // let selection = getElement('.selection'); // expect(selection.nativeElement.value).toContain('2016-08-22'); // }); // // it('open/close selector', () => { // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // let selector = getElement('.selector'); // expect(selector).toBe(null); // // btnpicker.nativeElement.click(); // fixture.detectChanges(); // selector = getElement('.selector'); // expect(selector).not.toBe(null); // // btnpicker.nativeElement.click(); // fixture.detectChanges(); // selector = getElement('.selector'); // expect(selector).toBe(null); // }); // // it('select current day from the selector and clear', () => { // let date = new Date(); // comp.selectedMonth = {monthTxt: '', monthNbr: date.getMonth() + 1, year: date.getFullYear()}; // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // fixture.detectChanges(); // let currday = getElement('.currday'); // expect(currday).not.toBe(null); // // currday.nativeElement.click(); // // let dateStr = getDateString(date); // fixture.detectChanges(); // let selection = getElement('.selection'); // expect(selection.nativeElement.value).toContain(dateStr); // // fixture.detectChanges(); // let btnclear = getElement('.btnclear'); // btnclear.nativeElement.click(); // expect(selection.nativeElement.value).toContain(''); // }); // // it('select/unselect current day from the selector', () => { // let date = new Date(); // comp.selectedMonth = {monthTxt: '', monthNbr: date.getMonth() + 1, year: date.getFullYear()}; // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // fixture.detectChanges(); // let currday = getElement('.currday'); // expect(currday).not.toBe(null); // // currday.nativeElement.click(); // // let dateStr = getDateString(date); // fixture.detectChanges(); // let selection = getElement('.selection'); // expect(selection.nativeElement.value).toContain(dateStr); // // fixture.detectChanges(); // btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // // fixture.detectChanges(); // let selectedday = getElement('.selectedday'); // expect(selectedday).not.toBe(null); // // fixture.detectChanges(); // currday = getElement('.currday'); // expect(currday).not.toBe(null); // currday.nativeElement.click(); // // fixture.detectChanges(); // selectedday = getElement('.selectedday'); // expect(selectedday).toBe(null); // // fixture.detectChanges(); // selection = getElement('.selection'); // expect(selection.nativeElement.value).toBe(''); // }); // // it('select today button', () => { // let date = new Date(); // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // fixture.detectChanges(); // let today = getElement('.headertodaybtn'); // expect(today).not.toBe(null); // // today.nativeElement.click(); // // let dateStr = getDateString(date); // fixture.detectChanges(); // let selection = getElement('.selection'); // expect(selection.nativeElement.value).toContain(dateStr); // // fixture.detectChanges(); // let btnclear = getElement('.btnclear'); // btnclear.nativeElement.click(); // expect(selection.nativeElement.value).toContain(''); // }); // // it('select previous month', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 5, year: 2016}; // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // fixture.detectChanges(); // let prevmonth = getElement('.header tr td:first-child .headerbtn:first-child'); // expect(prevmonth).not.toBe(null); // // prevmonth.nativeElement.click(); // // expect(comp.visibleMonth.monthTxt).toBe('Apr'); // expect(comp.visibleMonth.monthNbr).toBe(4); // expect(comp.visibleMonth.year).toBe(2016); // }); // // it('select next month', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 5, year: 2016}; // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // fixture.detectChanges(); // let nextmonth = getElement(NEXTMONTH); // expect(nextmonth).not.toBe(null); // // nextmonth.nativeElement.click(); // // expect(comp.visibleMonth.monthTxt).toBe('Jun'); // expect(comp.visibleMonth.monthNbr).toBe(6); // expect(comp.visibleMonth.year).toBe(2016); // }); // // it('select previous month january change year', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 1, year: 2016}; // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // fixture.detectChanges(); // let prevmonth = getElement(PREVMONTH); // expect(prevmonth).not.toBe(null); // // prevmonth.nativeElement.click(); // // expect(comp.visibleMonth.year).toBe(2015); // }); // // it('select next month december change year', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 12, year: 2016}; // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // fixture.detectChanges(); // let nextmonth = getElement(NEXTMONTH); // expect(nextmonth).not.toBe(null); // // nextmonth.nativeElement.click(); // // expect(comp.visibleMonth.year).toBe(2017); // }); // // it('select previous month from selector', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 5, year: 2016}; // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // comp.parseOptions(); // // fixture.detectChanges(); // let prevmonth = getElement(PREVMONTH); // expect(prevmonth).not.toBe(null); // // prevmonth.nativeElement.click(); // expect(comp.visibleMonth.monthNbr).toBe(4); // expect(comp.visibleMonth.monthTxt).toBe('Apr'); // // prevmonth.nativeElement.click(); // expect(comp.visibleMonth.monthNbr).toBe(3); // expect(comp.visibleMonth.monthTxt).toBe('Mar'); // }); // // it('select next month from selector', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 5, year: 2016}; // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // comp.parseOptions(); // // fixture.detectChanges(); // let nextmonth = getElement(NEXTMONTH); // expect(nextmonth).not.toBe(null); // // nextmonth.nativeElement.click(); // expect(comp.visibleMonth.monthNbr).toBe(6); // expect(comp.visibleMonth.monthTxt).toBe('Jun'); // // nextmonth.nativeElement.click(); // expect(comp.visibleMonth.monthNbr).toBe(7); // expect(comp.visibleMonth.monthTxt).toBe('Jul'); // }); // // it('select previous year', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 5, year: 2016}; // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // comp.parseOptions(); // // fixture.detectChanges(); // let prevyear = getElement(PREVYEAR); // expect(prevyear).not.toBe(null); // // prevyear.nativeElement.click(); // fixture.detectChanges(); // let yearLabel = getElement('.headeryeartxt .headerlabelbtn'); // expect(yearLabel).not.toBe(null); // expect(yearLabel.nativeElement.textContent).toBe('2015'); // }); // // it('select next year', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 5, year: 2016}; // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // comp.parseOptions(); // // fixture.detectChanges(); // let nextyear = getElement(NEXTYEAR); // expect(nextyear).not.toBe(null); // // nextyear.nativeElement.click(); // // fixture.detectChanges(); // let yearLabel = getElement('.headeryeartxt .headerlabelbtn'); // expect(yearLabel).not.toBe(null); // expect(yearLabel.nativeElement.textContent).toBe('2017'); // }); // // it('test calendar year 2016 month one by one - next month button', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 1, year: 2016}; // // comp.options = {firstDayOfWeek: 'mo'}; // // comp.parseOptions(); // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // fixture.detectChanges(); // let monthlabel = getElement('.monthlabel'); // expect(monthlabel).not.toBe(null); // expect(monthlabel.nativeElement.textContent.trim()).toBe('Jan'); // // fixture.detectChanges(); // let yearlabel = getElement('.yearlabel'); // expect(yearlabel).not.toBe(null); // expect(yearlabel.nativeElement.textContent.trim()).toBe('2016'); // // comp.generateCalendar(1, 2016, true); // // let beginDate: Array = ['28', '1', '29', '28', '25', '30', '27', '1', '29', '26', '31', '28']; // let endDate: Array = ['7', '13', '10', '8', '5', '10', '7', '11', '9', '6', '11', '8']; // // let i: number = 0; // do { // fixture.detectChanges(); // let currmonth = getElements('.caltable tbody tr td'); // expect(currmonth).not.toBe(null); // expect(currmonth.length).toBe(42); // // expect(currmonth[0]).not.toBe(null); // expect(currmonth[0].nativeElement.textContent.trim()).toBe(beginDate[i]); // // expect(currmonth[41]).not.toBe(null); // expect(currmonth[41].nativeElement.textContent.trim()).toBe(endDate[i]); // // comp.nextMonth(); // // i++; // } while (i < 12) // }); // // it('test calendar year 2016 month one by one - previous month button', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 12, year: 2016}; // // comp.options = {firstDayOfWeek: 'mo'}; // // comp.parseOptions(); // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // fixture.detectChanges(); // let monthlabel = getElement('.monthlabel'); // expect(monthlabel).not.toBe(null); // expect(monthlabel.nativeElement.textContent.trim()).toBe('Dec'); // // fixture.detectChanges(); // let yearlabel = getElement('.yearlabel'); // expect(yearlabel).not.toBe(null); // expect(yearlabel.nativeElement.textContent.trim()).toBe('2016'); // // comp.generateCalendar(12, 2016, true); // // let beginDate: Array = ['28', '1', '29', '28', '25', '30', '27', '1', '29', '26', '31', '28']; // let endDate: Array = ['7', '13', '10', '8', '5', '10', '7', '11', '9', '6', '11', '8']; // // let i: number = 11; // do { // fixture.detectChanges(); // let currmonth = getElements('.caltable tbody tr td'); // expect(currmonth).not.toBe(null); // expect(currmonth.length).toBe(42); // // expect(currmonth[0]).not.toBe(null); // expect(currmonth[0].nativeElement.textContent.trim()).toBe(beginDate[i]); // // expect(currmonth[41]).not.toBe(null); // expect(currmonth[41].nativeElement.textContent.trim()).toBe(endDate[i]); // // comp.prevMonth(); // // i--; // } while (i >= 0) // }); // // // options // it('options - dayLabels', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 5, year: 2016}; // comp.options = {dayLabels: {su: '1', mo: '2', tu: '3', we: '4', th: '5', fr: '6', sa: '7'}, firstDayOfWeek: 'su'}; // // comp.parseOptions(); // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // fixture.detectChanges(); // let ths = getElements('.caltable thead tr th'); // expect(ths.length).toBe(7); // for(let i in ths) { // let el = ths[i]; // expect(parseInt(el.nativeElement.textContent)).toBe(parseInt(i) + 1); // } // }); // // it('options - monthLabels', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 1, year: 2016}; // comp.options = {monthLabels: { 1: '1', 2: '2', 3: '3', 4: '4', 5: '5', 6: '6', 7: '7', 8: '8', 9: '9', 10: '10', 11: '11', 12: '12' }}; // // comp.parseOptions(); // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // fixture.detectChanges(); // let nextmonth = getElement(NEXTMONTH); // expect(nextmonth).not.toBe(null); // // for(let i = 1; i <= 12; i++) { // fixture.detectChanges(); // let monthLabel = getElement('.headermonthtxt .headerlabelbtn'); // expect(parseInt(monthLabel.nativeElement.textContent)).toBe(i); // nextmonth.nativeElement.click(); // } // }); // // it('options - date format', () => { // comp.options = {dateFormat: 'dd.mm.yyyy', indicateInvalidDate: true}; // // comp.parseOptions(); // // let value = {target:{value:'2016-08-22'}}; // comp.userDateInput(value); // expect(comp.invalidDate).toBe(true); // // fixture.detectChanges(); // let invaliddate = getElement('.invaliddate'); // expect(invaliddate).not.toBe(null); // // value = {target:{value:'2016-08-2'}}; // comp.userDateInput(value); // expect(comp.invalidDate).toBe(true); // // value = {target:{value:'16.09/2016'}}; // comp.userDateInput(value); // expect(comp.invalidDate).toBe(true); // // value = {target:{value:'2016-08-xx'}}; // comp.userDateInput(value); // expect(comp.invalidDate).toBe(true); // // value = {target:{value:'16.09.999'}}; // comp.userDateInput(value); // expect(comp.invalidDate).toBe(true); // // value = {target:{value:'16.09.19999'}}; // comp.userDateInput(value); // expect(comp.invalidDate).toBe(true); // // value = {target:{value:'16.09.2016'}}; // comp.userDateInput(value); // expect(comp.invalidDate).toBe(false); // // comp.options = {dateFormat: 'dd mmm yyyy', indicateInvalidDate: true}; // // comp.parseOptions(); // // value = {target:{value:'2016-08-22'}}; // comp.userDateInput(value); // expect(comp.invalidDate).toBe(true); // // value = {target:{value:'22 Aug 2016'}}; // comp.userDateInput(value); // expect(comp.invalidDate).toBe(false); // }); // // it('options - show today button', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 1, year: 2016}; // // comp.parseOptions(); // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // fixture.detectChanges(); // let headertodaybtn = getElement('.headertodaybtn'); // expect(headertodaybtn).not.toBe(null); // // btnpicker.nativeElement.click(); // // comp.options = {showTodayBtn: false}; // comp.parseOptions(); // // fixture.detectChanges(); // btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // fixture.detectChanges(); // headertodaybtn = getElement('.headertodaybtn'); // expect(headertodaybtn).toBe(null); // // btnpicker.nativeElement.click(); // // comp.options = {showTodayBtn: true}; // comp.parseOptions(); // // fixture.detectChanges(); // btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // fixture.detectChanges(); // headertodaybtn = getElement('.headertodaybtn'); // expect(headertodaybtn).not.toBe(null); // }); // // it('options - today button text', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 1, year: 2016}; // comp.options = {todayBtnTxt: 'test text'}; // // comp.parseOptions(); // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // fixture.detectChanges(); // let headertodaybtn = getElement('.headertodaybtn'); // expect(headertodaybtn).not.toBe(null); // expect(headertodaybtn.nativeElement.textContent).toBe('test text'); // }); // // it('options - first day of week', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 5, year: 2016}; // comp.options = {firstDayOfWeek: 'tu'}; // // comp.parseOptions(); // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // fixture.detectChanges(); // let first = getElement('.caltable thead tr th:first-child'); // expect(first).not.toBe(null); // expect(first.nativeElement.textContent).toBe('Tue'); // // let last = getElement('.caltable thead tr th:last-child'); // expect(last).not.toBe(null); // expect(last.nativeElement.textContent).toBe('Mon'); // }); // // it('options - sunday highlight', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 5, year: 2016}; // comp.options = {sunHighlight: true}; // // comp.parseOptions(); // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // fixture.detectChanges(); // let sunday = getElement('.sunday'); // expect(sunday).not.toBe(null); // // btnpicker.nativeElement.click(); // // comp.options = {sunHighlight: false}; // // comp.parseOptions(); // // fixture.detectChanges(); // btnpicker.nativeElement.click(); // // comp.parseOptions(); // // fixture.detectChanges(); // sunday = getElement('.sunday'); // expect(sunday).toBe(null); // }); // // it('options - current day marked', () => { // comp.options = {markCurrentDay: true}; // // comp.parseOptions(); // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // fixture.detectChanges(); // let currday = getElement('.currday'); // expect(currday).not.toBe(null); // // btnpicker.nativeElement.click(); // // comp.options = {markCurrentDay: false}; // // comp.parseOptions(); // // fixture.detectChanges(); // btnpicker.nativeElement.click(); // // comp.parseOptions(); // // fixture.detectChanges(); // currday = getElement('.currday'); // expect(currday).toBe(null); // }); // // it('options - editable month and year', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 5, year: 2016}; // comp.options = {editableMonthAndYear: true}; // // comp.parseOptions(); // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // fixture.detectChanges(); // let montlabel = getElement('.headermonthtxt .headerlabelbtn'); // expect(montlabel).not.toBe(null); // montlabel.nativeElement.click(); // // fixture.detectChanges(); // let monthinput = getElement('.monthinput'); // expect(monthinput).not.toBe(null); // // comp.userMonthInput({target:{value:'jan'}}); // // fixture.detectChanges(); // montlabel = getElement('.headermonthtxt .headerlabelbtn'); // expect(montlabel).not.toBe(null); // expect(montlabel.nativeElement.textContent).toBe('Jan'); // // // fixture.detectChanges(); // let yearlabel = getElement('.headeryeartxt .headerlabelbtn'); // expect(yearlabel).not.toBe(null); // yearlabel.nativeElement.click(); // // fixture.detectChanges(); // let yearinput = getElement('.yearinput'); // expect(yearinput).not.toBe(null); // // comp.userYearInput({target:{value:'2019'}}); // // fixture.detectChanges(); // yearlabel = getElement('.headeryeartxt .headerlabelbtn'); // expect(yearlabel).not.toBe(null); // expect(yearlabel.nativeElement.textContent).toBe('2019'); // }); // // it('options - disable header buttons', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 5, year: 2016}; // comp.options = { // disableHeaderButtons: true, // disableUntil: {year: 2016, month: 4, day: 10} // }; // // comp.parseOptions(); // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // fixture.detectChanges(); // let montlabel = getElement('.headermonthtxt .headerlabelbtn'); // expect(montlabel).not.toBe(null); // expect(montlabel.nativeElement.textContent).toBe('May'); // // fixture.detectChanges(); // let prevmonth = getElement(PREVMONTH); // expect(prevmonth).not.toBe(null); // prevmonth.nativeElement.click(); // // fixture.detectChanges(); // montlabel = getElement('.headermonthtxt .headerlabelbtn'); // expect(montlabel).not.toBe(null); // expect(montlabel.nativeElement.textContent).toBe('Apr'); // // fixture.detectChanges(); // let headerbtndisabled = getElements('.headerbtndisabled'); // expect(headerbtndisabled).not.toBe(null); // expect(headerbtndisabled.length).toBe(2); // // prevmonth.nativeElement.click(); // // fixture.detectChanges(); // montlabel = getElement('.headermonthtxt .headerlabelbtn'); // expect(montlabel).not.toBe(null); // expect(montlabel.nativeElement.textContent).toBe('Apr'); // // fixture.detectChanges(); // let prevyear = getElement(PREVYEAR); // expect(prevyear).not.toBe(null); // prevyear.nativeElement.click(); // // fixture.detectChanges(); // let yearlabel = getElement('.headeryeartxt .headerlabelbtn'); // expect(yearlabel).not.toBe(null); // expect(yearlabel.nativeElement.textContent).toBe('2016'); // // btnpicker.nativeElement.click(); // // // comp.options = { // disableHeaderButtons: true, // disableSince: {year: 2016, month: 7, day: 10} // }; // // comp.parseOptions(); // // fixture.detectChanges(); // btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // fixture.detectChanges(); // montlabel = getElement('.headermonthtxt .headerlabelbtn'); // expect(montlabel).not.toBe(null); // expect(montlabel.nativeElement.textContent).toBe('May'); // // fixture.detectChanges(); // let nextmonth = getElement(NEXTMONTH); // expect(nextmonth).not.toBe(null); // nextmonth.nativeElement.click(); // // fixture.detectChanges(); // montlabel = getElement('.headermonthtxt .headerlabelbtn'); // expect(montlabel).not.toBe(null); // expect(montlabel.nativeElement.textContent).toBe('Jun'); // // fixture.detectChanges(); // headerbtndisabled = getElements('.headerbtndisabled'); // expect(headerbtndisabled).not.toBe(null); // expect(headerbtndisabled.length).toBe(2); // // prevmonth.nativeElement.click(); // // fixture.detectChanges(); // montlabel = getElement('.headermonthtxt .headerlabelbtn'); // expect(montlabel).not.toBe(null); // expect(montlabel.nativeElement.textContent).toBe('Jun'); // // fixture.detectChanges(); // let nextyear = getElement(NEXTYEAR); // expect(nextyear).not.toBe(null); // nextyear.nativeElement.click(); // // fixture.detectChanges(); // yearlabel = getElement('.headeryeartxt .headerlabelbtn'); // expect(yearlabel).not.toBe(null); // expect(yearlabel.nativeElement.textContent).toBe('2016'); // }); // // it('options - min year', () => { // comp.visibleMonth = {monthTxt: 'May', monthNbr: 5, year: 2016}; // comp.options = {minYear: 2000}; // // comp.parseOptions(); // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // fixture.detectChanges(); // let yearlabel = getElement('.headeryeartxt .headerlabelbtn'); // expect(yearlabel).not.toBe(null); // yearlabel.nativeElement.click(); // // fixture.detectChanges(); // let yearinput = getElement('.yearinput'); // expect(yearinput).not.toBe(null); // // comp.userYearInput({target:{value:1999}}); // // fixture.detectChanges(); // let invalidyear = getElement('.invalidyear'); // expect(invalidyear).not.toBe(null); // // comp.userYearInput({target:{value:2000}}); // // fixture.detectChanges(); // yearlabel = getElement('.headeryeartxt .headerlabelbtn'); // expect(yearlabel).not.toBe(null); // expect(yearlabel.nativeElement.textContent).toBe('2000'); // }); // // it('options - max year', () => { // comp.visibleMonth = {monthTxt: 'May', monthNbr: 5, year: 2016}; // comp.options = {maxYear: 2020}; // // comp.parseOptions(); // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // fixture.detectChanges(); // let yearlabel = getElement('.headeryeartxt .headerlabelbtn'); // expect(yearlabel).not.toBe(null); // yearlabel.nativeElement.click(); // // fixture.detectChanges(); // let yearinput = getElement('.yearinput'); // expect(yearinput).not.toBe(null); // // comp.userYearInput({target:{value:2021}}); // // fixture.detectChanges(); // let invalidyear = getElement('.invalidyear'); // expect(invalidyear).not.toBe(null); // // comp.userYearInput({target:{value:2020}}); // // fixture.detectChanges(); // yearlabel = getElement('.headeryeartxt .headerlabelbtn'); // expect(yearlabel).not.toBe(null); // expect(yearlabel.nativeElement.textContent).toBe('2020'); // }); // // it('options - disable until', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 10, year: 2016}; // comp.options = {disableUntil: {year: 2016, month: 10, day: 5}}; // // comp.parseOptions(); // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // comp.generateCalendar(10, 2016, true); // // fixture.detectChanges(); // let disabled = getElements('tr .disabled'); // expect(disabled).not.toBe(null); // expect(disabled.length).toBe(10); // // let firstDisabled = disabled[0]; // expect(firstDisabled.nativeElement.textContent.trim()).toBe('26'); // // let lastDisabled = disabled[disabled.length - 1]; // expect(lastDisabled.nativeElement.textContent.trim()).toBe('5'); // // fixture.detectChanges(); // lastDisabled.nativeElement.click(); // let selection = getElement('.selection'); // expect(selection.nativeElement.value).toBe(''); // // fixture.detectChanges(); // let selectableDays = getElements('.tablesingleday'); // expect(selectableDays).not.toBe(null); // expect(selectableDays.length).toBe(26); // // selectableDays[0].nativeElement.click(); // fixture.detectChanges(); // selection = getElement('.selection'); // expect(selection.nativeElement.value).toContain('2016-10-06'); // }); // // it('options - disable since', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 10, year: 2016}; // comp.options = {disableSince: {year: 2016, month: 10, day: 30}}; // // comp.parseOptions(); // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // comp.generateCalendar(10, 2016, true); // // fixture.detectChanges(); // let disabled = getElements('tr .disabled'); // expect(disabled).not.toBe(null); // expect(disabled.length).toBe(8); // // let firstDisabled = disabled[0]; // expect(firstDisabled.nativeElement.textContent.trim()).toBe('30'); // // let lastDisabled = disabled[disabled.length - 1]; // expect(lastDisabled.nativeElement.textContent.trim()).toBe('6'); // // fixture.detectChanges(); // lastDisabled.nativeElement.click(); // let selection = getElement('.selection'); // expect(selection.nativeElement.value).toBe(''); // // fixture.detectChanges(); // let selectableDays = getElements('.tablesingleday'); // expect(selectableDays).not.toBe(null); // expect(selectableDays.length).toBe(29); // // selectableDays[5].nativeElement.click(); // // fixture.detectChanges(); // selection = getElement('.selection'); // expect(selection.nativeElement.value).toContain('2016-10-06'); // }); // // it('options - disable days one by one', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 10, year: 2016}; // comp.options = {disableDays: [{year: 2016, month: 10, day: 5}, {year: 2016, month: 10, day: 10}]}; // // comp.parseOptions(); // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // comp.generateCalendar(10, 2016, true); // // fixture.detectChanges(); // let disabled = getElements('tr .disabled'); // expect(disabled).not.toBe(null); // expect(disabled.length).toBe(2); // // let firstDisabled = disabled[0]; // expect(firstDisabled.nativeElement.textContent.trim()).toBe('5'); // // let lastDisabled = disabled[1]; // expect(lastDisabled.nativeElement.textContent.trim()).toBe('10'); // }); // // it('options - enable disabled days one by one', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 1, year: 2017}; // comp.options = { // dateFormat: 'dd.mm.yyyy', // disableDateRange: {begin: {year: 2017, month: 1, day: 1}, end: {year: 2017, month: 1, day: 31}}, // enableDays: [{year: 2017, month: 1, day: 5}, {year: 2017, month: 1, day: 6}, {year: 2017, month: 1, day: 7}, {year: 2017, month: 1, day: 8}] // }; // // comp.parseOptions(); // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // comp.generateCalendar(1, 2017, true); // // fixture.detectChanges(); // let disabled = getElements('tr .disabled'); // expect(disabled).not.toBe(null); // expect(disabled.length).toBe(27); // // let firstDisabled = disabled[0]; // expect(firstDisabled.nativeElement.textContent.trim()).toBe('1'); // // let lastDisabled = disabled[disabled.length - 1]; // expect(lastDisabled.nativeElement.textContent.trim()).toBe('31'); // // fixture.detectChanges(); // let alldates = getElements('.caltable .daycell'); // expect(alldates).not.toBe(null); // expect(alldates.length).toBe(42); // // fixture.detectChanges(); // let firstEnabled = alldates[10]; // firstEnabled.nativeElement.click(); // // fixture.detectChanges(); // let selection = getElement('.selection'); // expect(selection).not.toBe(null); // expect(selection.nativeElement.value).toBe('05.01.2017'); // }); // // it('options - disable range', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 10, year: 2016}; // comp.options = {disableDateRange: {begin: {year: 2016, month: 10, day: 5}, end: {year: 2016, month: 10, day: 10}}}; // // comp.parseOptions(); // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // comp.generateCalendar(10, 2016, true); // // fixture.detectChanges(); // let disabled = getElements('tr .disabled'); // expect(disabled).not.toBe(null); // expect(disabled.length).toBe(6); // // let firstDisabled = disabled[0]; // expect(firstDisabled.nativeElement.textContent.trim()).toBe('5'); // // let lastDisabled = disabled[disabled.length - 1]; // expect(lastDisabled.nativeElement.textContent.trim()).toBe('10'); // btnpicker.nativeElement.click(); // // // comp.options = {disableDateRange: {begin: {}, end: {}}}; // // comp.parseOptions(); // // fixture.detectChanges(); // btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // comp.generateCalendar(10, 2016, true); // // fixture.detectChanges(); // disabled = getElements('tr .disabled'); // expect(disabled).not.toBe(null); // expect(disabled.length).toBe(0); // }); // // it('options - disable today - today button disabled', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 10, year: 2016}; // // let date = new Date(); // comp.options = {disableDays: [{year: date.getFullYear(), month: date.getMonth() + 1, day: date.getDate()}]}; // // comp.parseOptions(); // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // comp.generateCalendar(10, 2016, true); // // fixture.detectChanges(); // let headertodaybtn = getElement('.headertodaybtn'); // expect(headertodaybtn).not.toBe(null); // expect(headertodaybtn.properties['disabled']).toBe(true); // // fixture.detectChanges(); // headertodaybtn.nativeElement.click(); // let selector = getElement('.selector'); // expect(selector).not.toBe(null); // // btnpicker.nativeElement.click(); // // comp.options = {disableDays: []}; // comp.parseOptions(); // // fixture.detectChanges(); // btnpicker.nativeElement.click(); // comp.generateCalendar(10, 2016, true); // // fixture.detectChanges(); // headertodaybtn = getElement('.headertodaybtn'); // expect(headertodaybtn).not.toBe(null); // expect(headertodaybtn.properties['disabled']).toBe(false); // // headertodaybtn.nativeElement.click(); // // fixture.detectChanges(); // let selection = getElement('.selection'); // expect(selection).not.toBe(null); // expect(selection.nativeElement.value).toBe(getDateString(date)); // }); // // it('options - disable weekends', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 10, year: 2016}; // comp.options = {firstDayOfWeek: 'mo', disableWeekends: true}; // // comp.parseOptions(); // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // comp.generateCalendar(10, 2016, true); // // fixture.detectChanges(); // let disabled = getElements('tr .disabled'); // expect(disabled).not.toBe(null); // expect(disabled.length).toBe(12); // // let firstDisabled = disabled[0]; // expect(firstDisabled.nativeElement.textContent.trim()).toBe('1'); // // let secondDisabled = disabled[1]; // expect(secondDisabled.nativeElement.textContent.trim()).toBe('2'); // // let lastDisabled = disabled[disabled.length - 1]; // expect(lastDisabled.nativeElement.textContent.trim()).toBe('6'); // // fixture.detectChanges(); // firstDisabled.nativeElement.click(); // let selection = getElement('.selection'); // expect(selection.nativeElement.value).toBe(''); // // fixture.detectChanges(); // secondDisabled.nativeElement.click(); // selection = getElement('.selection'); // expect(selection.nativeElement.value).toBe(''); // // fixture.detectChanges(); // let selectableDays = getElements('.tablesingleday'); // expect(selectableDays).not.toBe(null); // expect(selectableDays.length).toBe(21); // // selectableDays[0].nativeElement.click(); // // fixture.detectChanges(); // selection = getElement('.selection'); // expect(selection.nativeElement.value).toContain('2016-10-03'); // }); // // it('options - inline', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 10, year: 2016}; // comp.options = {inline: true}; // // comp.parseOptions(); // // fixture.detectChanges(); // let selector = getElement('.selector'); // expect(selector).not.toBe(null); // // fixture.detectChanges(); // let selectiongroup = getElement('.selectiongroup'); // expect(selectiongroup).toBe(null); // }); // // it('options - show clear date button', () => { // let date = new Date(); // comp.selectedMonth = {monthTxt: '', monthNbr: date.getMonth() + 1, year: date.getFullYear()}; // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // fixture.detectChanges(); // let currday = getElement('.currday'); // expect(currday).not.toBe(null); // // currday.nativeElement.click(); // // fixture.detectChanges(); // let btnclear = getElement('.btnclear'); // expect(btnclear).not.toBe(null); // // btnclear.nativeElement.click(); // // comp.options = {showClearDateBtn: true}; // comp.parseOptions(); // // fixture.detectChanges(); // btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // fixture.detectChanges(); // currday = getElement('.currday'); // expect(currday).not.toBe(null); // // currday.nativeElement.click(); // // fixture.detectChanges(); // btnclear = getElement('.btnclear'); // expect(btnclear).not.toBe(null); // btnclear.nativeElement.click(); // // btnclear.nativeElement.click(); // // // comp.options = {showClearDateBtn: false}; // comp.parseOptions(); // // fixture.detectChanges(); // btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // fixture.detectChanges(); // currday = getElement('.currday'); // expect(currday).not.toBe(null); // // currday.nativeElement.click(); // // fixture.detectChanges(); // btnclear = getElement('.btnclear'); // expect(btnclear).toBe(null); // }); // // it('options - height', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 10, year: 2016}; // comp.options = {height: '50px'}; // // comp.parseOptions(); // // fixture.detectChanges(); // let selection = getElement('.selection'); // expect(selection).not.toBe(null); // expect(selection.styles['height']).toBe('50px'); // }); // // it('options - width', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 10, year: 2016}; // comp.options = {width: '300px'}; // // comp.parseOptions(); // // fixture.detectChanges(); // expect(de).not.toBe(null); // expect(de.styles['width']).toBe('300px'); // // comp.options = {width: '20%'}; // // comp.parseOptions(); // // fixture.detectChanges(); // expect(de).not.toBe(null); // expect(de.styles['width']).toBe('20%'); // }); // // it('options - selection text font size', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 10, year: 2016}; // comp.options = {selectionTxtFontSize: '10px'}; // // comp.parseOptions(); // // fixture.detectChanges(); // let selection = getElement('.selection'); // expect(selection).not.toBe(null); // expect(selection.styles['font-size']).toBe('10px'); // }); // // it('options - align selector right', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 10, year: 2016}; // comp.options = {alignSelectorRight: true}; // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // comp.parseOptions(); // // fixture.detectChanges(); // let alignselectorright = getElement('.alignselectorright'); // expect(alignselectorright).not.toBe(null); // // comp.options = {alignSelectorRight: false}; // // comp.parseOptions(); // // fixture.detectChanges(); // alignselectorright = getElement('.alignselectorright'); // expect(alignselectorright).toBe(null); // }); // // it('options - open selector top of input', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 10, year: 2016}; // comp.options = {openSelectorTopOfInput: true, height: '30px'}; // // comp.parseOptions(); // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // let value: string = comp.getSelectorTopPosition(); // expect(value).not.toBe(null); // expect(value).toBe('32px'); // // btnpicker.nativeElement.click(); // // // comp.options = {openSelectorTopOfInput: false}; // // comp.parseOptions(); // // fixture.detectChanges(); // btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // value = comp.getSelectorTopPosition(); // expect(value).toBe(undefined); // // // btnpicker.nativeElement.click(); // // comp.options = {}; // // comp.parseOptions(); // // fixture.detectChanges(); // btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // value = comp.getSelectorTopPosition(); // expect(value).toBe(undefined); // }); // // it('options - indicate invalid date', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 10, year: 2016}; // comp.options = {indicateInvalidDate: true, dateFormat: 'dd.mm.yyyy'}; // // comp.parseOptions(); // // comp.userDateInput({target:{value:'2016-08-22'}}); // fixture.detectChanges(); // let invaliddate = getElement('.invaliddate'); // expect(invaliddate).not.toBe(null); // // comp.userDateInput({target:{value:'2016-08-xx'}}); // fixture.detectChanges(); // invaliddate = getElement('.invaliddate'); // expect(invaliddate).not.toBe(null); // // comp.userDateInput({target:{value:'2016-08-99'}}); // fixture.detectChanges(); // invaliddate = getElement('.invaliddate'); // expect(invaliddate).not.toBe(null); // // comp.userDateInput({target:{value:'10.10.2016'}}); // fixture.detectChanges(); // invaliddate = getElement('.invaliddate'); // expect(invaliddate).toBe(null); // }); // // it('options - disableUntil input dates validation', ()=> { // comp.options = { // indicateInvalidDate: true, // dateFormat: 'dd.mm.yyyy', // disableUntil:{year: 2016, month: 11, day: 4} // }; // // comp.parseOptions(); // // comp.userDateInput({target:{value:'11.12.2015'}}); // fixture.detectChanges(); // let invaliddate = getElement('.invaliddate'); // expect(invaliddate).not.toBe(null); // // comp.userDateInput({target:{value:'11.06.2016'}}); // fixture.detectChanges(); // invaliddate = getElement('.invaliddate'); // expect(invaliddate).not.toBe(null); // // comp.userDateInput({target:{value:'04.11.2016'}}); // fixture.detectChanges(); // invaliddate = getElement('.invaliddate'); // expect(invaliddate).not.toBe(null); // // comp.userDateInput({target:{value:'05.11.2016'}}); // fixture.detectChanges(); // invaliddate = getElement('.invaliddate'); // expect(invaliddate).toBe(null); // // comp.options = { // indicateInvalidDate: true, // dateFormat: 'dd.mm.yyyy', // disableUntil:{year: 0, month: 0, day: 0} // }; // // comp.parseOptions(); // // comp.userDateInput({target:{value:'11.12.2015'}}); // fixture.detectChanges(); // invaliddate = getElement('.invaliddate'); // expect(invaliddate).toBe(null); // }); // // it('options - disableSince input dates validation', ()=> { // comp.options = { // indicateInvalidDate: true, // dateFormat: 'dd.mm.yyyy', // disableSince:{year: 2016, month: 11, day: 22} // }; // // comp.parseOptions(); // // comp.userDateInput({target:{value:'08.12.2017'}}); // fixture.detectChanges(); // let invaliddate = getElement('.invaliddate'); // expect(invaliddate).not.toBe(null); // // comp.userDateInput({target:{value:'08.12.2016'}}); // fixture.detectChanges(); // invaliddate = getElement('.invaliddate'); // expect(invaliddate).not.toBe(null); // // comp.userDateInput({target:{value:'23.11.2016'}}); // fixture.detectChanges(); // invaliddate = getElement('.invaliddate'); // expect(invaliddate).not.toBe(null); // // comp.userDateInput({target:{value:'21.11.2016'}}); // fixture.detectChanges(); // invaliddate = getElement('.invaliddate'); // expect(invaliddate).toBe(null); // // comp.options = { // indicateInvalidDate: true, // dateFormat: 'dd.mm.yyyy', // disableSince:{year: 0, month: 0, day: 0} // }; // // comp.parseOptions(); // // comp.userDateInput({target:{value:'11.12.2015'}}); // fixture.detectChanges(); // invaliddate = getElement('.invaliddate'); // expect(invaliddate).toBe(null); // }); // // it('options - disable weekends input date validation', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 11, year: 2016}; // comp.options = { // indicateInvalidDate: true, // dateFormat: 'dd.mm.yyyy', // disableWeekends: true, // firstDayOfWeek: 'mo' // }; // // comp.parseOptions(); // // comp.userDateInput({target:{value:'05.11.2016'}}); // fixture.detectChanges(); // let invaliddate = getElement('.invaliddate'); // expect(invaliddate).not.toBe(null); // // comp.userDateInput({target:{value:'06.11.2016'}}); // fixture.detectChanges(); // invaliddate = getElement('.invaliddate'); // expect(invaliddate).not.toBe(null); // // comp.userDateInput({target:{value:'12.11.2016'}}); // fixture.detectChanges(); // invaliddate = getElement('.invaliddate'); // expect(invaliddate).not.toBe(null); // // comp.userDateInput({target:{value:'13.11.2016'}}); // fixture.detectChanges(); // invaliddate = getElement('.invaliddate'); // expect(invaliddate).not.toBe(null); // // comp.userDateInput({target:{value:'19.11.2016'}}); // fixture.detectChanges(); // invaliddate = getElement('.invaliddate'); // expect(invaliddate).not.toBe(null); // // comp.userDateInput({target:{value:'20.11.2016'}}); // fixture.detectChanges(); // invaliddate = getElement('.invaliddate'); // expect(invaliddate).not.toBe(null); // // comp.userDateInput({target:{value:'26.11.2016'}}); // fixture.detectChanges(); // invaliddate = getElement('.invaliddate'); // expect(invaliddate).not.toBe(null); // // comp.userDateInput({target:{value:'27.11.2016'}}); // fixture.detectChanges(); // invaliddate = getElement('.invaliddate'); // expect(invaliddate).not.toBe(null); // // comp.userDateInput({target:{value:'04.11.2016'}}); // fixture.detectChanges(); // invaliddate = getElement('.invaliddate'); // expect(invaliddate).toBe(null); // }); // // it('options - disableDays input date validation', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 11, year: 2016}; // comp.options = { // indicateInvalidDate: true, // dateFormat: 'dd.mm.yyyy', // disableDays: [ // {year: 2016, month: 11, day: 1}, // {year: 2016, month: 11, day: 3}, // {year: 2016, month: 11, day: 5}, // {year: 2016, month: 11, day: 7} // ], // firstDayOfWeek: 'mo' // }; // // comp.parseOptions(); // // comp.userDateInput({target:{value:'01.11.2016'}}); // fixture.detectChanges(); // let invaliddate = getElement('.invaliddate'); // expect(invaliddate).not.toBe(null); // // comp.userDateInput({target:{value:'03.11.2016'}}); // fixture.detectChanges(); // invaliddate = getElement('.invaliddate'); // expect(invaliddate).not.toBe(null); // // comp.userDateInput({target:{value:'05.11.2016'}}); // fixture.detectChanges(); // invaliddate = getElement('.invaliddate'); // expect(invaliddate).not.toBe(null); // // comp.userDateInput({target:{value:'07.11.2016'}}); // fixture.detectChanges(); // invaliddate = getElement('.invaliddate'); // expect(invaliddate).not.toBe(null); // // comp.userDateInput({target:{value:'02.11.2016'}}); // fixture.detectChanges(); // invaliddate = getElement('.invaliddate'); // expect(invaliddate).toBe(null); // }); // // it('options - disable component', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 10, year: 2016}; // comp.options = {componentDisabled: true}; // comp.parseOptions(); // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // // btnpicker.nativeElement.click(); // fixture.detectChanges(); // // let selector = getElement('.selector'); // expect(selector).toBe(null); // // fixture.detectChanges(); // let selection = getElement('.selection'); // // selection.nativeElement.value = '2016-11-14'; // // fixture.detectChanges(); // expect(selection.nativeElement.value).toContain(''); // }); // // it('options - editable date field', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 10, year: 2016}; // comp.options = {editableDateField: false}; // comp.parseOptions(); // // fixture.detectChanges(); // let selection = getElement('.selection'); // // selection.nativeElement.value = '2016-11-14'; // // fixture.detectChanges(); // expect(selection.nativeElement.value).toContain(''); // // comp.options = {editableDateField: true}; // comp.parseOptions(); // // fixture.detectChanges(); // selection = getElement('.selection'); // // selection.nativeElement.value = '2016-11-14'; // // fixture.detectChanges(); // expect(selection.nativeElement.value).toContain('2016-11-14'); // }); // // it('options - click input to open selector', () => { // // let selection: DebugElement, // selector: DebugElement; // // comp.selectedMonth = {monthTxt: '', monthNbr: 10, year: 2016}; // comp.options = {editableDateField: true}; // comp.parseOptions(); // // fixture.detectChanges(); // selection = getElement('.selection'); // // selection.nativeElement.click(); // // fixture.detectChanges(); // selector = getElement('.selector'); // expect(selector).toBe(null); // // comp.options = {editableDateField: false, openSelectorOnInputClick: true}; // comp.parseOptions(); // // fixture.detectChanges(); // selection = getElement('.selection'); // // selection.nativeElement.click(); // // fixture.detectChanges(); // selector = getElement('.selector'); // expect(selector).not.toBe(null); // }); // // it('options - input field value required', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 10, year: 2016}; // comp.options = {}; // comp.parseOptions(); // // fixture.detectChanges(); // let selection = getElement('.selection'); // expect(selection).not.toBe(null); // expect(selection.properties['required']).toBe(false); // // comp.options = {inputValueRequired: true}; // comp.parseOptions(); // // fixture.detectChanges(); // selection = getElement('.selection'); // expect(selection).not.toBe(null); // expect(selection.properties['required']).toBe(true); // // comp.options = {inputValueRequired: false}; // comp.parseOptions(); // // fixture.detectChanges(); // selection = getElement('.selection'); // expect(selection).not.toBe(null); // expect(selection.properties['required']).toBe(false); // }); // // it('options - show selector arrow', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 10, year: 2016}; // comp.options = {}; // comp.parseOptions(); // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // fixture.detectChanges(); // let selectorarrow = getElement('.selectorarrow'); // expect(selectorarrow).not.toBe(null); // btnpicker.nativeElement.click(); // // // comp.options = {showSelectorArrow: false}; // comp.parseOptions(); // // fixture.detectChanges(); // btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // fixture.detectChanges(); // selectorarrow = getElement('.selectorarrow'); // expect(selectorarrow).toBe(null); // btnpicker.nativeElement.click(); // // // comp.options = {showSelectorArrow: true}; // comp.parseOptions(); // // fixture.detectChanges(); // btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // fixture.detectChanges(); // selectorarrow = getElement('.selectorarrow'); // expect(selectorarrow).not.toBe(null); // btnpicker.nativeElement.click(); // }); // // it('options - show input field', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 10, year: 2016}; // comp.options = {}; // comp.parseOptions(); // // fixture.detectChanges(); // let selection = getElement('.selection'); // expect(selection).not.toBe(null); // // // comp.options = {showInputField: false}; // comp.parseOptions(); // // fixture.detectChanges(); // selection = getElement('.selection'); // expect(selection).toBe(null); // // // comp.options = {showInputField: true}; // comp.parseOptions(); // // fixture.detectChanges(); // selection = getElement('.selection'); // expect(selection).not.toBe(null); // }); // // it('options - input auto fill', () => { // comp.options = {inputAutoFill: false}; // comp.parseOptions(); // // fixture.detectChanges(); // let selection = getElement('.selection'); // expect(selection).not.toBe(null); // // fixture.detectChanges(); // selection.nativeElement.value = '2016-2-1'; // fixture.nativeElement.querySelector('.selection').dispatchEvent(new Event('keyup')); // // fixture.detectChanges(); // selection = getElement('.selection'); // expect(selection.nativeElement.value).toBe('2016-2-1'); // // // comp.options = {inputAutoFill: true}; // comp.parseOptions(); // // fixture.detectChanges(); // selection.nativeElement.value = ''; // // fixture.detectChanges(); // selection.nativeElement.value = '2016-1-'; // fixture.nativeElement.querySelector('.selection').dispatchEvent(new Event('keyup')); // // fixture.detectChanges(); // selection = getElement('.selection'); // expect(selection.nativeElement.value).toBe('2016-01-'); // // fixture.detectChanges(); // selection.nativeElement.value = '2016-01-9'; // fixture.nativeElement.querySelector('.selection').dispatchEvent(new Event('keyup')); // // fixture.detectChanges(); // selection = getElement('.selection'); // expect(selection.nativeElement.value).toBe('2016-01-09'); // }); // // it('options - show week numbers', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 1, year: 2017}; // comp.options = {showWeekNumbers: false}; // comp.parseOptions(); // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // fixture.detectChanges(); // let weekdaytitleweeknbr = getElement('.weekdaytitleweeknbr'); // expect(weekdaytitleweeknbr).toBe(null); // // fixture.detectChanges(); // let daycellweeknbr = getElements('.daycellweeknbr'); // expect(daycellweeknbr.length).toBe(0); // // btnpicker.nativeElement.click(); // // // comp.options = {showWeekNumbers: true}; // comp.parseOptions(); // // fixture.detectChanges(); // btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // fixture.detectChanges(); // weekdaytitleweeknbr = getElement('.weekdaytitleweeknbr'); // expect(weekdaytitleweeknbr).not.toBe(null); // // fixture.detectChanges(); // daycellweeknbr = getElements('.daycellweeknbr'); // expect(daycellweeknbr.length).toBe(6); // // expect(daycellweeknbr[0].nativeElement.textContent.trim()).toBe('52'); // expect(daycellweeknbr[1].nativeElement.textContent.trim()).toBe('1'); // expect(daycellweeknbr[2].nativeElement.textContent.trim()).toBe('2'); // expect(daycellweeknbr[3].nativeElement.textContent.trim()).toBe('3'); // expect(daycellweeknbr[4].nativeElement.textContent.trim()).toBe('4'); // expect(daycellweeknbr[5].nativeElement.textContent.trim()).toBe('5'); // // fixture.detectChanges(); // let prevyear = getElement(PREVYEAR); // expect(prevyear).not.toBe(null); // prevyear.nativeElement.click(); // // fixture.detectChanges(); // daycellweeknbr = getElements('.daycellweeknbr'); // expect(daycellweeknbr.length).toBe(6); // // expect(daycellweeknbr[0].nativeElement.textContent.trim()).toBe('53'); // expect(daycellweeknbr[1].nativeElement.textContent.trim()).toBe('1'); // expect(daycellweeknbr[2].nativeElement.textContent.trim()).toBe('2'); // expect(daycellweeknbr[3].nativeElement.textContent.trim()).toBe('3'); // expect(daycellweeknbr[4].nativeElement.textContent.trim()).toBe('4'); // expect(daycellweeknbr[5].nativeElement.textContent.trim()).toBe('5'); // // prevyear.nativeElement.click(); // // fixture.detectChanges(); // daycellweeknbr = getElements('.daycellweeknbr'); // expect(daycellweeknbr.length).toBe(6); // // expect(daycellweeknbr[0].nativeElement.textContent.trim()).toBe('1'); // expect(daycellweeknbr[1].nativeElement.textContent.trim()).toBe('2'); // expect(daycellweeknbr[2].nativeElement.textContent.trim()).toBe('3'); // expect(daycellweeknbr[3].nativeElement.textContent.trim()).toBe('4'); // expect(daycellweeknbr[4].nativeElement.textContent.trim()).toBe('5'); // expect(daycellweeknbr[5].nativeElement.textContent.trim()).toBe('6'); // }); // // it('options - aria label texts', () => { // comp.selectedDate = comp.parseSelectedDate('2017-10-11'); // comp.parseOptions(); // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // expect(btnpicker).not.toBe(null); // expect(btnpicker.nativeElement.attributes['aria-label'].textContent).toBe('Open Calendar'); // // btnpicker.nativeElement.click(); // // fixture.detectChanges(); // let selection = getElement('.selection'); // expect(selection).not.toBe(null); // expect(selection.nativeElement.attributes['aria-label'].textContent).toBe('Date input field'); // // fixture.detectChanges(); // let btnclear = getElement('.btnclear'); // expect(btnclear).not.toBe(null); // expect(btnclear.nativeElement.attributes['aria-label'].textContent).toBe('Clear Date'); // // // fixture.detectChanges(); // let prevmonth = getElement(PREVMONTH); // expect(prevmonth).not.toBe(null); // expect(prevmonth.nativeElement.attributes['aria-label'].textContent).toBe('Previous Month'); // // fixture.detectChanges(); // let nextmonth = getElement(NEXTMONTH); // expect(nextmonth).not.toBe(null); // expect(nextmonth.nativeElement.attributes['aria-label'].textContent).toBe('Next Month'); // // fixture.detectChanges(); // let prevyear = getElement(PREVYEAR); // expect(prevyear).not.toBe(null); // expect(prevyear.nativeElement.attributes['aria-label'].textContent).toBe('Previous Year'); // // fixture.detectChanges(); // let nextyear = getElement(NEXTYEAR); // expect(nextyear).not.toBe(null); // expect(nextyear.nativeElement.attributes['aria-label'].textContent).toBe('Next Year'); // // btnpicker.nativeElement.click(); // // comp.options = { // ariaLabelInputField: 'text 1', // ariaLabelClearDate: 'text 2', // ariaLabelOpenCalendar: 'text 3', // ariaLabelPrevMonth: 'text 4', // ariaLabelNextMonth: 'text 5', // ariaLabelPrevYear: 'text 6', // ariaLabelNextYear: 'text 7' // }; // comp.parseOptions(); // // fixture.detectChanges(); // btnpicker = getElement('.btnpicker'); // expect(btnpicker).not.toBe(null); // expect(btnpicker.nativeElement.attributes['aria-label'].textContent).toBe(comp.options.ariaLabelOpenCalendar); // // btnpicker.nativeElement.click(); // // fixture.detectChanges(); // selection = getElement('.selection'); // expect(selection).not.toBe(null); // expect(selection.nativeElement.attributes['aria-label'].textContent).toBe(comp.options.ariaLabelInputField); // // fixture.detectChanges(); // btnclear = getElement('.btnclear'); // expect(btnclear).not.toBe(null); // expect(btnclear.nativeElement.attributes['aria-label'].textContent).toBe(comp.options.ariaLabelClearDate); // // // fixture.detectChanges(); // prevmonth = getElement(PREVMONTH); // expect(prevmonth).not.toBe(null); // expect(prevmonth.nativeElement.attributes['aria-label'].textContent).toBe(comp.options.ariaLabelPrevMonth); // // fixture.detectChanges(); // nextmonth = getElement(NEXTMONTH); // expect(nextmonth).not.toBe(null); // expect(nextmonth.nativeElement.attributes['aria-label'].textContent).toBe(comp.options.ariaLabelNextMonth); // // fixture.detectChanges(); // prevyear = getElement(PREVYEAR); // expect(prevyear).not.toBe(null); // expect(prevyear.nativeElement.attributes['aria-label'].textContent).toBe(comp.options.ariaLabelPrevYear); // // fixture.detectChanges(); // nextyear = getElement(NEXTYEAR); // expect(nextyear).not.toBe(null); // expect(nextyear.nativeElement.attributes['aria-label'].textContent).toBe(comp.options.ariaLabelNextYear); // }); // // it('locale - use fr locale', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 1, year: 2016}; // comp.locale = 'fr'; // // comp.parseOptions(); // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // fixture.detectChanges(); // let days = getElements('.caltable thead tr th'); // expect(days.length).toBe(7); // expect(days[0].nativeElement.textContent).toBe('Lun'); // expect(days[1].nativeElement.textContent).toBe('Mar'); // expect(days[2].nativeElement.textContent).toBe('Mer'); // expect(days[3].nativeElement.textContent).toBe('Jeu'); // expect(days[4].nativeElement.textContent).toBe('Ven'); // expect(days[5].nativeElement.textContent).toBe('Sam'); // expect(days[6].nativeElement.textContent).toBe('Dim'); // // fixture.detectChanges(); // let nextmonth = getElement(NEXTMONTH); // expect(nextmonth).not.toBe(null); // // fixture.detectChanges(); // let monthLabel = getElement('.headermonthtxt .headerlabelbtn'); // expect(monthLabel.nativeElement.textContent).toBe('Jan'); // // nextmonth.nativeElement.click(); // fixture.detectChanges(); // monthLabel = getElement('.headermonthtxt .headerlabelbtn'); // expect(monthLabel.nativeElement.textContent).toBe('Fév'); // // nextmonth.nativeElement.click(); // fixture.detectChanges(); // monthLabel = getElement('.headermonthtxt .headerlabelbtn'); // expect(monthLabel.nativeElement.textContent).toBe('Mar'); // // nextmonth.nativeElement.click(); // fixture.detectChanges(); // monthLabel = getElement('.headermonthtxt .headerlabelbtn'); // expect(monthLabel.nativeElement.textContent).toBe('Avr'); // // nextmonth.nativeElement.click(); // fixture.detectChanges(); // monthLabel = getElement('.headermonthtxt .headerlabelbtn'); // expect(monthLabel.nativeElement.textContent).toBe('Mai'); // // nextmonth.nativeElement.click(); // fixture.detectChanges(); // monthLabel = getElement('.headermonthtxt .headerlabelbtn'); // expect(monthLabel.nativeElement.textContent).toBe('Juin'); // // nextmonth.nativeElement.click(); // fixture.detectChanges(); // monthLabel = getElement('.headermonthtxt .headerlabelbtn'); // expect(monthLabel.nativeElement.textContent).toBe('Juil'); // // nextmonth.nativeElement.click(); // fixture.detectChanges(); // monthLabel = getElement('.headermonthtxt .headerlabelbtn'); // expect(monthLabel.nativeElement.textContent).toBe('Aoû'); // // nextmonth.nativeElement.click(); // fixture.detectChanges(); // monthLabel = getElement('.headermonthtxt .headerlabelbtn'); // expect(monthLabel.nativeElement.textContent).toBe('Sep'); // // nextmonth.nativeElement.click(); // fixture.detectChanges(); // monthLabel = getElement('.headermonthtxt .headerlabelbtn'); // expect(monthLabel.nativeElement.textContent).toBe('Oct'); // // nextmonth.nativeElement.click(); // fixture.detectChanges(); // monthLabel = getElement('.headermonthtxt .headerlabelbtn'); // expect(monthLabel.nativeElement.textContent).toBe('Nov'); // // nextmonth.nativeElement.click(); // fixture.detectChanges(); // monthLabel = getElement('.headermonthtxt .headerlabelbtn'); // expect(monthLabel.nativeElement.textContent).toBe('Déc'); // // fixture.detectChanges(); // let headertodaybtn = getElement('.headertodaybtn'); // expect(headertodaybtn).not.toBe(null); // expect(headertodaybtn.nativeElement.textContent).toBe('Aujourd\'hui'); // // fixture.detectChanges(); // let firstDayOfWeek = getElement('.caltable thead tr th:first-child'); // expect(firstDayOfWeek).not.toBe(null); // expect(firstDayOfWeek.nativeElement.textContent).toBe('Lun'); // // fixture.detectChanges(); // let sunday = getElement('.sunday'); // expect(sunday).not.toBe(null); // // comp.userDateInput({target:{value:'10/10/2016'}}); // expect(comp.invalidDate).toBe(false); // // fixture.detectChanges(); // let invaliddate = getElement('.invaliddate'); // expect(invaliddate).toBe(null); // }); // // it('selDate - initially selected date - string', () => { // let date: string = '2017-10-11'; // comp.selectedDate = comp.parseSelectedDate(date); // // comp.parseOptions(); // // fixture.detectChanges(); // let selection = getElement('.selection'); // expect(selection).not.toBe(null); // expect(selection.nativeElement.value).toContain('2017-10-11'); // // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // fixture.detectChanges(); // let selectedday = getElement('.selectedday div span'); // expect(selectedday).not.toBe(null); // expect(selectedday.nativeElement.textContent).toContain('11'); // // fixture.detectChanges(); // let monthLabel = getElement('.headermonthtxt .headerlabelbtn'); // expect(monthLabel).not.toBe(null); // expect(monthLabel.nativeElement.textContent).toBe('Oct'); // // fixture.detectChanges(); // let yearLabel = getElement('.headeryeartxt .headerlabelbtn'); // expect(yearLabel).not.toBe(null); // expect(yearLabel.nativeElement.textContent).toBe('2017'); // }); // // it('selDate - initially selected date - object', () => { // let date: Object = {year: 2017, month: 10, day: 11}; // comp.selectedDate = comp.parseSelectedDate(date); // // comp.parseOptions(); // // fixture.detectChanges(); // let selection = getElement('.selection'); // expect(selection).not.toBe(null); // expect(selection.nativeElement.value).toContain('2017-10-11'); // expect(comp.selectionDayTxt).toContain('2017-10-11'); // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // fixture.detectChanges(); // let selectedday = getElement('.selectedday div span'); // expect(selectedday).not.toBe(null); // expect(selectedday.nativeElement.textContent).toContain('11'); // // fixture.detectChanges(); // let monthLabel = getElement('.headermonthtxt .headerlabelbtn'); // expect(monthLabel).not.toBe(null); // expect(monthLabel.nativeElement.textContent).toBe('Oct'); // // fixture.detectChanges(); // let yearLabel = getElement('.headeryeartxt .headerlabelbtn'); // expect(yearLabel).not.toBe(null); // expect(yearLabel.nativeElement.textContent).toBe('2017'); // }); // // it('defaultMonth - initially selected month', () => { // comp.selectedMonth = comp.parseSelectedMonth('2019-08'); // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // fixture.detectChanges(); // let monthLabel = getElement('.headermonthtxt .headerlabelbtn'); // expect(monthLabel).not.toBe(null); // expect(monthLabel.nativeElement.textContent).toBe('Aug'); // // fixture.detectChanges(); // let yearLabel = getElement('.headeryeartxt .headerlabelbtn'); // expect(yearLabel).not.toBe(null); // expect(yearLabel.nativeElement.textContent).toBe('2019'); // }); // // it('placeholder - placeholder text', () => { // comp.placeholder = ''; // // fixture.detectChanges(); // let selection = getElement('.selection'); // expect(selection).not.toBe(null); // expect(selection.properties['placeholder']).toBe(''); // // comp.placeholder = 'Select date'; // // fixture.detectChanges(); // selection = getElement('.selection'); // expect(selection).not.toBe(null); // expect(selection.properties['placeholder']).toBe(comp.placeholder); // // // }); // // it('locale - use id locale', () => { // comp.selectedMonth = {monthTxt: '', monthNbr: 1, year: 2016}; // comp.locale = 'id'; // // comp.parseOptions(); // // fixture.detectChanges(); // let btnpicker = getElement('.btnpicker'); // btnpicker.nativeElement.click(); // // fixture.detectChanges(); // let days = getElements('.caltable thead tr th'); // expect(days.length).toBe(7); // expect(days[0].nativeElement.textContent).toBe('Min'); // expect(days[1].nativeElement.textContent).toBe('Sen'); // expect(days[2].nativeElement.textContent).toBe('Sel'); // expect(days[3].nativeElement.textContent).toBe('Rab'); // expect(days[4].nativeElement.textContent).toBe('Kam'); // expect(days[5].nativeElement.textContent).toBe('Jum'); // expect(days[6].nativeElement.textContent).toBe('Sab'); // // fixture.detectChanges(); // let nextmonth = getElement(NEXTMONTH); // expect(nextmonth).not.toBe(null); // // fixture.detectChanges(); // let monthLabel = getElement('.headermonthtxt .headerlabelbtn'); // expect(monthLabel.nativeElement.textContent).toBe('Jan'); // // nextmonth.nativeElement.click(); // fixture.detectChanges(); // monthLabel = getElement('.headermonthtxt .headerlabelbtn'); // expect(monthLabel.nativeElement.textContent).toBe('Feb'); // // nextmonth.nativeElement.click(); // fixture.detectChanges(); // monthLabel = getElement('.headermonthtxt .headerlabelbtn'); // expect(monthLabel.nativeElement.textContent).toBe('Mar'); // // nextmonth.nativeElement.click(); // fixture.detectChanges(); // monthLabel = getElement('.headermonthtxt .headerlabelbtn'); // expect(monthLabel.nativeElement.textContent).toBe('Apr'); // // nextmonth.nativeElement.click(); // fixture.detectChanges(); // monthLabel = getElement('.headermonthtxt .headerlabelbtn'); // expect(monthLabel.nativeElement.textContent).toBe('Mei'); // // nextmonth.nativeElement.click(); // fixture.detectChanges(); // monthLabel = getElement('.headermonthtxt .headerlabelbtn'); // expect(monthLabel.nativeElement.textContent).toBe('Jun'); // // nextmonth.nativeElement.click(); // fixture.detectChanges(); // monthLabel = getElement('.headermonthtxt .headerlabelbtn'); // expect(monthLabel.nativeElement.textContent).toBe('Jul'); // // nextmonth.nativeElement.click(); // fixture.detectChanges(); // monthLabel = getElement('.headermonthtxt .headerlabelbtn'); // expect(monthLabel.nativeElement.textContent).toBe('Ags'); // // nextmonth.nativeElement.click(); // fixture.detectChanges(); // monthLabel = getElement('.headermonthtxt .headerlabelbtn'); // expect(monthLabel.nativeElement.textContent).toBe('Sep'); // // nextmonth.nativeElement.click(); // fixture.detectChanges(); // monthLabel = getElement('.headermonthtxt .headerlabelbtn'); // expect(monthLabel.nativeElement.textContent).toBe('Okt'); // // nextmonth.nativeElement.click(); // fixture.detectChanges(); // monthLabel = getElement('.headermonthtxt .headerlabelbtn'); // expect(monthLabel.nativeElement.textContent).toBe('Nov'); // // nextmonth.nativeElement.click(); // fixture.detectChanges(); // monthLabel = getElement('.headermonthtxt .headerlabelbtn'); // expect(monthLabel.nativeElement.textContent).toBe('Des'); // // fixture.detectChanges(); // let headertodaybtn = getElement('.headertodaybtn'); // expect(headertodaybtn).not.toBe(null); // expect(headertodaybtn.nativeElement.textContent).toBe('Hari ini'); // // fixture.detectChanges(); // let firstDayOfWeek = getElement('.caltable thead tr th:first-child'); // expect(firstDayOfWeek).not.toBe(null); // expect(firstDayOfWeek.nativeElement.textContent).toBe('Min'); // // fixture.detectChanges(); // let sunday = getElement('.sunday'); // expect(sunday).not.toBe(null); // // comp.userDateInput({target:{value:'10-10-2016'}}); // expect(comp.invalidDate).toBe(false); // // fixture.detectChanges(); // let invaliddate = getElement('.invaliddate'); // expect(invaliddate).toBe(null); // }); // // });