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 selector: 'ngb-datepicker',
12 class EgMockDateSelectComponent {
13 @Input() displayMonths: number;
14 @Input() dayTemplate: TemplateRef<any>;
15 @Input() outsideDays: string;
16 @Input() markDisabled:
17 (date: NgbDate, current: { year: number; month: number; }) => boolean =
18 (date: NgbDate, current: { year: number; month: number; }) => false
21 describe('Component: DateRangeSelect', () => {
22 let component: DateRangeSelectComponent;
23 let fixture: ComponentFixture<DateRangeSelectComponent>;
26 TestBed.configureTestingModule({
28 DateRangeSelectComponent,
29 EgMockDateSelectComponent,
32 fixture = TestBed.createComponent(DateRangeSelectComponent);
33 component = fixture.componentInstance;
38 it('creates a range when the user clicks two dates, with the earlier date clicked first', () => {
39 component.onDateSelection(new NgbDate(2004, 6, 4));
40 component.onDateSelection(new NgbDate(2005, 7, 27));
41 expect(component.selectedRange.toDate).toBeTruthy();
44 it('creates a range with a null value when the user clicks two dates, with the later date clicked first', () => {
45 component.onDateSelection(new NgbDate(2011, 1, 27));
46 component.onDateSelection(new NgbDate(2006, 11, 16));
47 expect(component.selectedRange.toDate).toBeNull();