❔ Unit test: The source 'IQueryable' doesn't implement 'IAsyncEnumerable<T>'
My test keep failing when it trying to get to this line of code
Detail
FindAll
Controller
Test
var foods = await _foodRepository.FindAll().ToListAsync(cancellationToken);var foods = await _foodRepository.FindAll().ToListAsync(cancellationToken);Detail
FindAll
IQueryable<T> FindAll(Expression<Func<T, bool>>? predicate = null);IQueryable<T> FindAll(Expression<Func<T, bool>>? predicate = null);Controller
public async Task<IActionResult> GetAll(CancellationToken cancellationToken = default)
{
var foods = await _foodRepository.FindAll().ToListAsync(cancellationToken);
return Ok(_mapper.Map<IEnumerable<FoodDTO>>(foods));
} public async Task<IActionResult> GetAll(CancellationToken cancellationToken = default)
{
var foods = await _foodRepository.FindAll().ToListAsync(cancellationToken);
return Ok(_mapper.Map<IEnumerable<FoodDTO>>(foods));
}Test
public async Task FoodController_GetAll_ReturnOk()
{
#region[Arrange]
var foods = A.Fake<IEnumerable<Food>>();
var foodsDTO = A.Fake<IEnumerable<FoodDTO>>();
A.CallTo(() => _mapper.Map<IEnumerable<FoodDTO>>(foods)).Returns(foodsDTO);
var controller = new FoodController(_mapper, _foodRepository, _userFoodRepository);
#endregion
#region[Act]
var result = await controller.GetAll();
#endregion
#region[Assert]
result.Should().NotBeNull();
result.Should().BeOfType(typeof(OkObjectResult));
#endregion
} public async Task FoodController_GetAll_ReturnOk()
{
#region[Arrange]
var foods = A.Fake<IEnumerable<Food>>();
var foodsDTO = A.Fake<IEnumerable<FoodDTO>>();
A.CallTo(() => _mapper.Map<IEnumerable<FoodDTO>>(foods)).Returns(foodsDTO);
var controller = new FoodController(_mapper, _foodRepository, _userFoodRepository);
#endregion
#region[Act]
var result = await controller.GetAll();
#endregion
#region[Assert]
result.Should().NotBeNull();
result.Should().BeOfType(typeof(OkObjectResult));
#endregion
}

