public async Task CreateMaintenanceWindow_Valid() { var startTime = DateTime.UtcNow.AddDays(3); var endTime = DateTime.UtcNow.AddDays(4); var jsWindow = new JsMaintenanceWindowInput { StartTime = startTime.ToString(FormattingConstants.DateTimeFormat), EndTime = endTime.ToString(FormattingConstants.DateTimeFormat), }; var window = new MaintenanceWindow { StartTime = startTime, EndTime = endTime }; var validation = new ValidationResult(); var createdWindow = new MaintenanceWindow { Id = 1, IsDeleted = false, StartTime = DateTime.ParseExact(jsWindow.StartTime, FormattingConstants.DateTimeFormat, CultureInfo.InvariantCulture), EndTime = DateTime.ParseExact(jsWindow.EndTime, FormattingConstants.DateTimeFormat, CultureInfo.InvariantCulture), }; var expectedResult = new MaintenanceWindowValidationResult { Valid = true, Result = createdWindow }; maintenanceWindowModelServiceMock.Setup(mock => mock.ConvertFromJS(jsWindow)).Returns(window); maintenanceWindowValidatorMock.Setup(mock => mock.Validate(window)) .Returns(validation); maintenanceWindowSchedulingServiceMock.Setup(mock => mock.ScheduleMaintenanceWindowAsync(window)) .ReturnsAsync(createdWindow); var result = await maintenanceWindowSchedulerController.CreateMaintenanceWindow(jsWindow); Assert.That(result, Is.Not.Null); Assert.That(result.Valid, Is.EqualTo(expectedResult.Valid)); Assert.That(result.Result, Is.EqualTo(expectedResult.Result)); Assert.That(result.Errors, Is.EqualTo(expectedResult.Errors)); }
public async Task CreateMaintenanceWindow_Invalid() { var startTime = DateTime.UtcNow.AddDays(4); var endTime = DateTime.UtcNow.AddDays(3); var jsWindow = new JsMaintenanceWindowInput { StartTime = startTime.ToString(FormattingConstants.DateTimeFormat), EndTime = endTime.ToString(FormattingConstants.DateTimeFormat), }; var window = new MaintenanceWindow { StartTime = startTime, EndTime = endTime }; var validation = new ValidationResult { Errors = { new ValidationFailure("StartTime", "Start Time must be after End Time.") } }; var expectedValidation = new MaintenanceWindowValidationResult { Valid = false, Result = window, Errors = new List <string> { "Start Time must be after End Time." } }; maintenanceWindowModelServiceMock.Setup(mock => mock.ConvertFromJS(jsWindow)).Returns(window); maintenanceWindowValidatorMock.Setup(mock => mock.Validate(window)) .Returns(validation); var result = await maintenanceWindowSchedulerController.CreateMaintenanceWindow(jsWindow); Assert.That(result, Is.Not.Null); Assert.That(result.Valid, Is.EqualTo(expectedValidation.Valid)); Assert.That(result.Valid, Is.False); Assert.That(result.Result, Is.EqualTo(expectedValidation.Result)); }