public void Update_ShouldUpdateEstimateTask() { // Arrange int markId = 2; int employeeId = 1; var estimateTaskRequest = new EstimateTaskUpdateRequest { TaskText = "NewUpdate", AdditionalText = "NewUpdate", ApprovalEmployeeId = employeeId, }; // Act _service.Update(markId, estimateTaskRequest); // Assert _repository.Verify(mock => mock.Update(It.IsAny <EstimateTask>()), Times.Once); Assert.Equal("NewUpdate", _estimateTask.SingleOrDefault( v => v.Mark.Id == markId).TaskText); Assert.Equal("NewUpdate", _estimateTask.SingleOrDefault( v => v.Mark.Id == markId).AdditionalText); Assert.Equal(employeeId, _estimateTask.SingleOrDefault( v => v.Mark.Id == markId).ApprovalEmployee.Id); }
public void Update_ShouldFailWithNull_WhenWrongValues() { // Arrange int markId = 1; var estimateTaskRequest = new EstimateTaskUpdateRequest { AdditionalText = "NewUpdate", }; var wrongEstimateTaskRequest1 = new EstimateTaskUpdateRequest { ApprovalEmployeeId = 999, }; // Act & Assert Assert.Throws <ArgumentNullException>(() => _service.Update(markId, null)); Assert.Throws <ArgumentNullException>(() => _service.Update( 999, estimateTaskRequest)); Assert.Throws <ArgumentNullException>(() => _service.Update( markId, wrongEstimateTaskRequest1)); _repository.Verify(mock => mock.Update(It.IsAny <EstimateTask>()), Times.Never); }
public void Update( int markId, EstimateTaskUpdateRequest estimateTask) { if (estimateTask == null) { throw new ArgumentNullException(nameof(estimateTask)); } var foundEstimateTask = _repository.GetByMarkId(markId); if (foundEstimateTask == null) { throw new ArgumentNullException(nameof(foundEstimateTask)); } if (estimateTask.TaskText != null) { foundEstimateTask.TaskText = estimateTask.TaskText; } if (estimateTask.AdditionalText != null) { foundEstimateTask.AdditionalText = estimateTask.AdditionalText; } if (estimateTask.ApprovalEmployeeId != null) { int approvalEmployeeId = estimateTask.ApprovalEmployeeId.GetValueOrDefault(); if (approvalEmployeeId == -1) { foundEstimateTask.ApprovalEmployeeId = null; } else { var approvalEmployee = _employeeRepo.GetById(approvalEmployeeId); if (approvalEmployee == null) { throw new ArgumentNullException(nameof(approvalEmployee)); } foundEstimateTask.ApprovalEmployee = approvalEmployee; } } _repository.Update(foundEstimateTask); var foundMark = _markRepo.GetById(markId); foundMark.EditedDate = DateTime.Now; _markRepo.Update(foundMark); }
public ActionResult Update( int markId, [FromBody] EstimateTaskUpdateRequest estimateTaskRequest) { if (!estimateTaskRequest.Validate()) { return(BadRequest()); } try { _service.Update(markId, estimateTaskRequest); } catch (ArgumentNullException) { return(NotFound()); } return(NoContent()); }