В настоящее время пишется модульный тест, чтобы проверить, что он возвращает правильный тип объекта
[Fact]
public async Task GetVenue_Should_Return_GetVenueType()
{
var venues = new[]
{
new VenueTypeResponse()
{
id = 1,
Name = "Cafe",
ImageUrl = "Cafe.png"
},
new VenueTypeResponse()
{
id = 2,
Name = "Takeaway",
ImageUrl = "Takeaway.png"
}
};
mockedVenueService.Setup(x => x.GetVenueType()).Returns(Task.FromResult(new List<VenueTypeResponse>(venues)));
var controller = new VenueController(mockedVenueService.Object, mockedCafeService.Object, mockedCafeRequestValidator.Object);
var result = await controller.GetVenueType() as OkObjectResult;
var data = result.Value as List<VenueTypeResponse>; //errors here: outputs null
Assert.IsType<OkObjectResult>(result);
Assert.Collection(data, x => Assert.Contains("Cafe", x.Name),
x => Assert.Contains("Takeaway", x.Name));
Assert.Collection(data, x => Assert.Contains("Cafe.png", x.ImageUrl),
x => Assert.Contains("Takeaway.png", x.ImageUrl));
Assert.Equal(StatusCodes.Status200OK, result.StatusCode);
}
, когда я пытаюсь преобразовать OkObjectResult в переменную данных, он просто выводит null?
Я что-то не так в процессе преобразования?
Реализация GetVenueType ()
[HttpGet]
[Route("venue-type")]
[ProducesResponseType(typeof(VenueTypeResponse), 200)]
[ProducesResponseType(401)]
public async Task<IActionResult> GetVenueType()
{
var result = new VersionResponse()
{
Data = await _venueService.GetVenueType()
};
return Ok(result);
}