]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/eg2/src/app/share/daterange-select/daterange-select.component.spec.ts
LP1834662: Various fixes to the datetime select
[Evergreen.git] / Open-ILS / src / eg2 / src / app / share / daterange-select / daterange-select.component.spec.ts
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';
7
8 @Component({
9     // tslint:disable-next-line:component-selector
10     selector: 'ngb-datepicker',
11     template: ''
12 })
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
20 }
21
22 describe('Component: DateRangeSelect', () => {
23     let component: DateRangeSelectComponent;
24     let fixture: ComponentFixture<DateRangeSelectComponent>;
25
26     beforeEach(() => {
27         TestBed.configureTestingModule({
28             declarations: [
29                 DateRangeSelectComponent,
30                 EgMockDateSelectComponent,
31         ]});
32
33         fixture = TestBed.createComponent(DateRangeSelectComponent);
34         component = fixture.componentInstance;
35         component.ngOnInit();
36     });
37
38
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();
43     });
44
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();
49     });
50
51 });