public async Task GetAllExpenses_ShouldReturnAllExpensesAsync() { // Arrange var expectedNumberOfExpensesList = 4; var expensesList = GetExpensesList(); mockExpenseService.Setup(repo => repo.GetAllAsync()).Returns(Task.FromResult(expensesList)); var controller = new ExpenseController(mockExpenseService.Object, mockLogger.Object); // Act var okObjectResult = await controller.GetAll() as OkObjectResult; var result = okObjectResult.Value as List <Entities.Expense>; // Assert Assert.NotNull(okObjectResult, "Ok(ObjectResult) is null"); Assert.AreEqual(expectedNumberOfExpensesList, result.Count(), "Expected Number Of Expenses List"); Assert.AreEqual(expenseObj.Id, result[1].Id, "Id is not equal"); }