public void Validate_GivenAParentPolicyIdAndPolicyDoesNotExist_ValidIsFalse() { //Arrange PolicyCreateModel model = CreateModel(); model.ParentPolicyId = parentPolicyId; ISpecificationsRepository repository = CreateSpecificationsRepository(false, false); PolicyCreateModelValidator validator = CreateValidator(repository); //Act ValidationResult result = validator.Validate(model); //Assert result .IsValid .Should() .BeFalse(); result .Errors .Count .Should() .Be(1); }
public async Task <IActionResult> Edit(int id, PolicyCreateModel ItemCreateModel) { try { if (id != ItemCreateModel.Id) { return(NotFound()); } if (ModelState.IsValid) { if (_UnitOfWork.EmployeePositionTimeOffPolicies .Find(x => x.PositionId == ItemCreateModel.Position.Id && x.TypeId == ItemCreateModel.Type.Id && x.IsActive == true && x.Id != ItemCreateModel.Id) != null) { ViewData["Type"] = new SelectList(_UnitOfWork.TimeOffTypes.GetAll(), "Id", "Title"); ViewData["Position"] = new SelectList(_UnitOfWork.EmployeePositions.GetAll(), "Id", "Title"); ViewData["Error"] = "Policy for this Position and Type alredy exist."; return(View(ItemCreateModel)); } var Approvers = GetApproversFromJson(ItemCreateModel.Approvers); if (Approvers.Count < 1) { ViewData["Type"] = new SelectList(_UnitOfWork.TimeOffTypes.GetAll(), "Id", "Title"); ViewData["Position"] = new SelectList(_UnitOfWork.EmployeePositions.GetAll(), "Id", "Title"); ViewData["Error"] = "There should be at least 1 approver"; return(View(ItemCreateModel)); } var ItemDTO = _mapper.Map <PolicyCreateModel, EmployeePositionTimeOffPolicyDTO>(ItemCreateModel); ItemDTO.Approvers = Approvers; await _EmployeePositionTimeOffPolicyService.UpdateAsync(ItemDTO); return(RedirectToAction(nameof(Index))); } ViewData["Type"] = new SelectList(_UnitOfWork.TimeOffTypes.GetAll(), "Id", "Title"); ViewData["Position"] = new SelectList(_UnitOfWork.EmployeePositions.GetAll(), "Id", "Title"); ViewData["Error"] = "Invalid model"; return(View(ItemCreateModel)); } catch (Exception ex) { ViewData["Type"] = new SelectList(_UnitOfWork.TimeOffTypes.GetAll(), "Id", "Title"); ViewData["Position"] = new SelectList(_UnitOfWork.EmployeePositions.GetAll(), "Id", "Title"); if (ex is ArgumentException || ex is ArgumentNullException || ex is EntityNotFoundException) { ViewData["Error"] = ex.Message; } else { ViewData["Error"] = "Unexpected error"; } return(View(ItemCreateModel)); } }
public void Validate_GivenValidModel_ValidIsTrue() { //Arrange PolicyCreateModel model = CreateModel(); PolicyCreateModelValidator validator = CreateValidator(); //Act ValidationResult result = validator.Validate(model); //Assert result .IsValid .Should() .BeTrue(); }
public void Validate_GivenEmptyParentPolicyId_ValidIsTrue() { //Arrange PolicyCreateModel model = CreateModel(); model.ParentPolicyId = string.Empty; PolicyCreateModelValidator validator = CreateValidator(); //Act ValidationResult result = validator.Validate(model); //Assert result .IsValid .Should() .BeTrue(); }
public void Validate_GivenAParentPolicyIdAndPolicyExists_ValidIsTrue() { //Arrange PolicyCreateModel model = CreateModel(); model.ParentPolicyId = parentPolicyId; ISpecificationsRepository repository = CreateSpecificationsRepository(false, true); PolicyCreateModelValidator validator = CreateValidator(repository); //Act ValidationResult result = validator.Validate(model); //Assert result .IsValid .Should() .BeTrue(); }
public async Task <IActionResult> Create([FromForm] PolicyCreateModel ItemCreateModel) { try { if (ModelState.IsValid) { var Approvers = GetApproversFromJson(ItemCreateModel.Approvers); if (Approvers.Count < 1) { ViewData["Type"] = new SelectList(_UnitOfWork.TimeOffTypes.GetAll(), "Id", "Title"); ViewData["Position"] = new SelectList(_UnitOfWork.EmployeePositions.GetAll(), "Id", "Title"); ViewData["Error"] = "There should be at least 1 approver"; return(View(ItemCreateModel)); } var ItemDTO = _mapper.Map <PolicyCreateModel, EmployeePositionTimeOffPolicyDTO>(ItemCreateModel); ItemDTO.Approvers = Approvers; await _EmployeePositionTimeOffPolicyService.CreateAsync(ItemDTO); return(RedirectToAction(nameof(Index))); } ViewData["Type"] = new SelectList(_UnitOfWork.TimeOffTypes.GetAll(), "Id", "Title"); ViewData["Position"] = new SelectList(_UnitOfWork.EmployeePositions.GetAll(), "Id", "Title"); ViewData["Error"] = "Invalid model"; return(View(ItemCreateModel)); } catch (Exception ex) { ViewData["Type"] = new SelectList(_UnitOfWork.TimeOffTypes.GetAll(), "Id", "Title"); ViewData["Position"] = new SelectList(_UnitOfWork.EmployeePositions.GetAll(), "Id", "Title"); if (ex is ArgumentException || ex is ArgumentNullException || ex is EntityNotFoundException) { ViewData["Error"] = ex.Message; } else { ViewData["Error"] = "Unexpected error"; } return(View(ItemCreateModel)); } }
public void Validate_GivenEmptySpecificationId_ValidIsFalse() { //Arrange PolicyCreateModel model = CreateModel(); model.SpecificationId = string.Empty; PolicyCreateModelValidator validator = CreateValidator(); //Act ValidationResult result = validator.Validate(model); //Assert result .IsValid .Should() .BeFalse(); result .Errors .Count .Should() .Be(1); }