public IHttpActionResult PutDefault([FromUri] int id, [FromBody] UpdateAutopilotSettingsModel command) { if (command != null && id != command.Id) { ModelState.AddModelError(nameof(UpdateAutopilotSettingsModel.Id), "Model id does not match"); return(BadRequest(ModelState)); } var autopilotSettings = _autopilotSettingsRepository.Get(id); if (autopilotSettings == null) { return(NotFound()); } if (!_autopilotSettingsValidator.IsValid(command)) { return(_autopilotSettingsValidator.BadRequest()); } autopilotSettings.DefaultFlexibilityLevelId = command.DefaultFlexibilityLevelId; autopilotSettings.ScenariosToGenerate = command.ScenariosToGenerate; _autopilotSettingsRepository.Update(autopilotSettings); UpdateAutopilotRulesRepository(command.AutopilotRules); // Do not remove this, need to persist changes now so that we can return AutopilotSettingsModel _autopilotSettingsRepository.SaveChanges(); _autopilotRuleRepository.SaveChanges(); return(Ok(Mappings.MapToAutopilotSettingsModel(autopilotSettings, _autopilotRuleRepository, _ruleRepository, _ruleTypeRepository, _mapper))); }
public async Task FailWhenNotValidScenarioTypesCount() { _model = BuildModel(0); var validationResult = _target.Validate(_model); using (new AssertionScope()) { _ = validationResult.IsValid.Should().BeFalse(); _ = validationResult.Errors.Count.Should().BeGreaterThan(0); _ = validationResult.Errors.Should().Contain(er => er.ErrorMessage == "Please specify valid scenario types count to be generated"); } }
private void AssumeValidModelIsSupplied() { _model = BuildModel(); }