Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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());
 }