public void Update_ShouldCallUpdateItem() { // Arrange var input = new UpdateTodoItemDto(); var mappedinput = new TodoItemDto(); mapper.Setup(m => m.Map <TodoItemDto>(input)).Returns(mappedinput); // Act controller.Update(input); // Assert todoItemLogic.Verify(u => u.UpdateItem(1, It.Is <TodoItemDto>(c => c == mappedinput))); }
public void InvalidEnum() { // Arrange var dto = new UpdateTodoItemDto { Title = "TodoItemTitle", Status = (TodoTaskStatus)99 }; // Act var result = _validator.TestValidate(dto); // Assert result.IsValid.Should().BeFalse(); }
public async Task <Result <CreateTodoItemResponseDto> > Execute(long id, UpdateTodoItemDto todoItem) { var task = await _taskRepository.GetTask(id); if (task == null) { return(Result <CreateTodoItemResponseDto> .Failed(ErrorCode.NotFound, Constants.NotFoundErrorMessage)); } task.Name = todoItem.Name; task.IsComplete = todoItem.IsComplete; await _taskRepository.UpdateTask(task); return(Result <CreateTodoItemResponseDto> .Success(new CreateTodoItemResponseDto(id))); }
public void Update_ShouldReturnBadRequestWhenUpdateItemReturnsNull() { // Arrange var input = new UpdateTodoItemDto(); mapper.Setup(m => m.Map <TodoItemDto>(input)).Returns(new TodoItemDto()); // Act var result = controller.Update(input); // Assert Assert.IsType <BadRequestObjectResult>(result); var response = (result as BadRequestObjectResult).Value as ErrorResponse; Assert.Equal("Item not found in the database.", response.Message); }
public void IdIsNull(long id, string message) { // Arrange var dto = new UpdateTodoItemDto { Id = id, Title = "TodoItemName", Status = TodoTaskStatus.Open }; // Act var result = _validator.TestValidate(dto); // Assert result.IsValid.Should().BeFalse(); result.Errors.FirstOrDefault(x => x.ErrorMessage == message).Should().NotBeNull(); }
public void TitleRange(int length, string message) { // Arrange var dto = new UpdateTodoItemDto { Id = 1, Title = new string('*', length), Status = TodoTaskStatus.Open }; // Act var result = _validator.TestValidate(dto); // Assert result.IsValid.Should().BeFalse(); result.Errors.FirstOrDefault(x => x.ErrorMessage == message).Should().NotBeNull(); result.Errors.Should().HaveCount(1); }
public void TitleIsNull() { // Arrange var dto = new UpdateTodoItemDto { Id = 1, Title = null, Status = TodoTaskStatus.Open }; // Act var result = _validator.TestValidate(dto); // Assert result.IsValid.Should().BeFalse(); result.Errors.Single().ErrorMessage.Should().Be("'Title' must not be empty."); result.Errors.Should().HaveCount(1); }
public void Update_ShouldReturnUpdatedTodoItem() { // Arrange var input = new UpdateTodoItemDto(); var mappedinput = new TodoItemDto(); var model = new TodoItemDto(); mapper.Setup(m => m.Map <TodoItemDto>(input)).Returns(mappedinput); todoItemLogic.Setup(u => u.UpdateItem(1, It.Is <TodoItemDto>(c => c == mappedinput))).Returns(model); // Act var result = controller.Update(input); // Assert Assert.IsType <OkObjectResult>(result); var response = (result as OkObjectResult).Value as Response <TodoItemDto>; Assert.Equal(model, response.Model); }
public IActionResult Update(UpdateTodoItemDto updateObj) { int userId = int.Parse(httpContextAccessor.HttpContext.User.FindFirst(Constants.UserIdClaim)?.Value); var updateDto = mapper.Map <TodoItemDto>(updateObj); var updatedResult = todoItemLogic.UpdateItem(userId, updateDto); if (updatedResult == null) { return(BadRequest(new ErrorResponse { Status = false, Message = "Item not found in the database." })); } else { return(Ok(new Response <TodoItemDto> { Status = true, Model = updatedResult })); } }
public async Task <IActionResult> UpdateTodo([FromRoute] long id, UpdateTodoItemDto todoItem) { var result = await _updateTaskCommand.Execute(id, todoItem); return(OkOrFailure(result)); }