public async Task DeleteAllPoints_Should_ReturnOk() { // Arrange var adapterMock = new Mock <ITodoPointAdapter>(); var loggerMock = new Mock <ILogger <PointController> >(); var todoIdForDeletePoints = 1; var testPoints = GetTestPoints(); var testTodos = GetTestTodos(testPoints); int countPointsBeforeDelete = testPoints.Count; adapterMock.Setup(x => x.DeletePointsByTodoId(todoIdForDeletePoints)) .Callback(() => testPoints.Clear()); var controller = new PointController(adapterMock.Object, loggerMock.Object); // Act var result = await controller.DeleteAllPoints(todoIdForDeletePoints); var todo = testTodos.Where(x => x.TodoId == todoIdForDeletePoints).FirstOrDefault(); // Assert var actionResult = Assert.IsAssignableFrom <IActionResult>(result); Assert.IsAssignableFrom <OkResult>(actionResult); Assert.Equal(2, countPointsBeforeDelete); Assert.Empty(todo.Points); }