UNPKG

ng2-date-picker-pda-forked

Version:
119 lines (104 loc) 3.33 kB
import {async, ComponentFixture, TestBed} from '@angular/core/testing'; import {UtilsService} from '../common/services/utils/utils.service'; import {CalendarNavComponent} from '../calendar-nav/calendar-nav.component'; import * as moment from 'moment'; import {DayCalendarComponent} from './day-calendar.component'; import {DayCalendarService} from './day-calendar.service'; import {MonthCalendarComponent} from '../month-calendar/month-calendar.component'; import {IDay} from './day.model'; import {Moment} from 'moment'; describe('Component: DayCalendarComponent', () => { let component: DayCalendarComponent; let fixture: ComponentFixture<DayCalendarComponent>; beforeEach(async(() => { TestBed.configureTestingModule({ declarations: [DayCalendarComponent, CalendarNavComponent, MonthCalendarComponent], providers: [DayCalendarService, UtilsService] }).compileComponents(); })); beforeEach(() => { fixture = TestBed.createComponent(DayCalendarComponent); component = fixture.componentInstance; component.config = component.dayCalendarService.getConfig({}); fixture.detectChanges(); }); it('should create', () => { expect(component).toBeTruthy(); }); it('should check getMonthBtnText default value', () => { expect(component.getDayBtnText({ date: moment('05-04-2017', 'DD-MM-YYYY') } as IDay)).toEqual('05'); }); describe('should have the right CSS classes for', () => { const defaultDay: IDay = { date: undefined, selected: false, currentMonth: false, prevMonth: false, nextMonth: false, currentDay: false }; const defaultCssClasses: { [klass: string]: boolean } = { 'dp-selected': false, 'dp-current-month': false, 'dp-prev-month': false, 'dp-next-month': false, 'dp-current-day': false }; it('the selected day', () => { expect(component.getDayBtnCssClass({ ...defaultDay, selected: true } as IDay)).toEqual({ ...defaultCssClasses, 'dp-selected': true }); }); it('the current month', () => { expect(component.getDayBtnCssClass({ ...defaultDay, currentMonth: true } as IDay)).toEqual({ ...defaultCssClasses, 'dp-current-month': true }); }); it('the previous month', () => { expect(component.getDayBtnCssClass({ ...defaultDay, prevMonth: true } as IDay)).toEqual({ ...defaultCssClasses, 'dp-prev-month': true }); }); it('the next month', () => { expect(component.getDayBtnCssClass({ ...defaultDay, nextMonth: true } as IDay)).toEqual({ ...defaultCssClasses, 'dp-next-month': true }); }); it('the current day', () => { expect(component.getDayBtnCssClass({ ...defaultDay, currentDay: true } as IDay)).toEqual({ ...defaultCssClasses, 'dp-current-day': true }); }); it('custom days', () => { component.componentConfig.dayBtnCssClassCallback = (day: Moment) => 'custom-class'; expect(component.getDayBtnCssClass({ ...defaultDay } as IDay)).toEqual({ ...defaultCssClasses, 'custom-class': true }); }); }); });