blob: d2a83d08a7f85c4d486ebc81ea88518dfad07112 [file] [log] [blame]
/********************************************************************************
* Copyright © 2020 Basys GmbH.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* SPDX-License-Identifier: EPL-2.0
********************************************************************************/
import {FormControl, ValidationErrors, ValidatorFn} from '@angular/forms';
import {CyclicReportObject} from '@shared/model/CyclicReportObject';
import {CyclicReportValidators} from './cyclic-report.validators';
function getValidationErrors<T>(...validators: ValidatorFn[]): (data: T) => ValidationErrors {
return (data: T) => new FormControl(data, validators).errors;
}
describe('CyclicReportValidators', () => {
it('validationDate should check if the validation date is correctly set', () => {
const errors = { invalidDate: true };
const getValidationDateError = getValidationErrors<Partial<CyclicReportObject>>(CyclicReportValidators.validationDate);
expect(getValidationDateError(null)).toBe(null);
expect(getValidationDateError({})).toBe(null);
expect(getValidationDateError({
validToDayOffset: 1, validToHour: 12, validToMinute: 30,
validFromDayOffset: 0, validFromHour: 12, validFromMinute: 30
})).toEqual(null);
expect(getValidationDateError({
validToDayOffset: 1, validToHour: 12, validToMinute: 30,
validFromDayOffset: 1, validFromHour: 0, validFromMinute: 30
})).toEqual(null);
expect(getValidationDateError({
validToDayOffset: 1, validToHour: 12, validToMinute: 30,
validFromDayOffset: 1, validFromHour: 12, validFromMinute: 0
})).toEqual(null);
expect(getValidationDateError({
validToDayOffset: 1, validToHour: 12, validToMinute: 30,
validFromDayOffset: 1, validFromHour: 12, validFromMinute: 30
})).toEqual(errors);
expect(getValidationDateError({
validToDayOffset: 1, validToHour: 12, validToMinute: 30,
validFromDayOffset: 1, validFromHour: 14, validFromMinute: 0
})).toEqual(errors);
expect(getValidationDateError({
validToDayOffset: 1, validToHour: 12, validToMinute: 30,
validFromDayOffset: 12, validFromHour: 10, validFromMinute: 0
})).toEqual(errors);
});
});