1 import {ComponentFixture, TestBed} from '@angular/core/testing';
2 import {Component, DebugElement, Input, TemplateRef} from '@angular/core';
3 import {By} from '@angular/platform-browser';
4 import {DateRange, DateRangeSelectComponent} from './daterange-select.component';
5 import {ReactiveFormsModule} from '@angular/forms';
6 import {NgbDate} from '@ng-bootstrap/ng-bootstrap';
9 // tslint:disable-next-line:component-selector
10 selector: 'ngb-datepicker',
13 class EgMockDateSelectComponent {
14 @Input() displayMonths: number;
15 @Input() dayTemplate: TemplateRef<any>;
16 @Input() outsideDays: string;
17 @Input() markDisabled:
18 (date: NgbDate, current: { year: number; month: number; }) => boolean =
19 (date: NgbDate, current: { year: number; month: number; }) => false
22 describe('Component: DateRangeSelect', () => {
23 let component: DateRangeSelectComponent;
24 let fixture: ComponentFixture<DateRangeSelectComponent>;
27 TestBed.configureTestingModule({
29 DateRangeSelectComponent,
30 EgMockDateSelectComponent,
33 fixture = TestBed.createComponent(DateRangeSelectComponent);
34 component = fixture.componentInstance;
39 it('creates a range when the user clicks two dates, with the earlier date clicked first', () => {
40 component.onDateSelection(new NgbDate(2004, 6, 4));
41 component.onDateSelection(new NgbDate(2005, 7, 27));
42 expect(component.selectedRange.toDate).toBeTruthy();
45 it('creates a range with a null value when the user clicks two dates, with the later date clicked first', () => {
46 component.onDateSelection(new NgbDate(2011, 1, 27));
47 component.onDateSelection(new NgbDate(2006, 11, 16));
48 expect(component.selectedRange.toDate).toBeNull();