LP1879517: Surveys shouldn't end before they begin
[evergreen-equinox.git] / Open-ILS / src / eg2 / src / app / share / validators / dates_in_order_validator.spec.ts
1 import { AbstractControl } from "@angular/forms";
2 import { datesInOrderValidator } from "./dates_in_order_validator.directive";
3
4 describe('datesInOrderValidator', () => {
5     const mockForm = jasmine.createSpyObj<AbstractControl>(['get']);
6     const mockEarlierDateInput = jasmine.createSpyObj<AbstractControl>('AbstractControl', [], {value: '2020-10-12'});
7     const mockLaterDateInput = jasmine.createSpyObj<AbstractControl>('AbstractControl', [], {value: '2030-01-01'});
8     it('returns null if two fields are in order', () => {
9         mockForm.get.and.returnValues(mockEarlierDateInput, mockLaterDateInput);
10         expect(datesInOrderValidator(['startDate', 'endDate'])(mockForm)).toEqual(null);
11     });
12     it('returns an object if fields are out of order', () => {
13         mockForm.get.and.returnValues(mockLaterDateInput, mockEarlierDateInput);
14         expect(datesInOrderValidator(['startDate', 'endDate'])(mockForm)).toEqual({ datesOutOfOrder: 'Dates should be in order' });
15     });
16 });