Помогите разобраться с Unit-тестом

Помогите с Unit-тестом. Есть контроллер:

[HttpGet]
public async Task<ActionResult> Auction([FromQuery] int[] ids, [FromQuery] string platfrom, AuctionModel auctionModel)
{
    var partners = _adcampaign.GetRtbPartners(ids);
    var result = await _rtbservice.GetAuctionResult(partners.Values, auctionModel);

    if (result?.Length > 0)
    {
        return new ContentResult
        {
            Content = result,
            ContentType = "application/xml",
            StatusCode = 200
        };
    }
    else return new ContentResult
    {
        Content = "",
        ContentType = "application/xml",
        StatusCode = 204
    };
}

к нему я создал следующий unit-тест

[Fact]
public async Task ReturnNoContentResult()
{
    int[] ids = { 68, 75, 83 };

    IReadOnlyDictionary<int, RtbModel> partners = new Dictionary<int, RtbModel>
    {
        [68] = new RtbModel {// Данные модели },
        [75] = new RtbModel {// Данные модели },
        [83] = new RtbModel {// Данные модели }
    };

    List<RtbModel> rtb_partners = new List<RtbModel>
    {
        new RtbModel {// Данные модели },
        new RtbModel {// Данные модели },
        new RtbModel {// Данные модели }
    };

    var auctionModel = new AuctionModel
    {
        Auctions =
        {
            new Params
            {
                ID = "100",
                Currencies = new string[] { "RUB" },
                Bidfloor = 150M,
                BidFloorCurrency = "RUB",
                MinDuration = 0,
                MaxDuration = 300,
                Delivery = new DeliveryMethodEnum[] {DeliveryMethodEnum.Progressive},
                MimeTypes = new string [] {"video/mp4"},
                PlayerHeight = 300,
                PlayerWidth = 400,
                Secure = 1,
                Protocols = new VideoProtocolEnum[] {VideoProtocolEnum.VAST2, VideoProtocolEnum.VAST3, VideoProtocolEnum.VAST2Wrapper, VideoProtocolEnum.VAST3Wrapper}
            }
        }
    };

    string test = null;

    // Arrange
    var mock1 = new Mock<RtbService>();
    mock1
        .Setup(a => a.ProcessAuction(rtb_partners, auctionModel))
        .ReturnsAsync("");

    var mock2 = new Mock<IAdCampaign>();
    mock2
        .Setup(a => a.GetRtbPartners(ids))
        .Returns(partners);

    var controller = new RtbController(mock1.Object, mock2.Object);

    // Act
    var result = await controller.Auction(ids, "111-1-1", auctionModel);

    // Assert
    var contentResult = Assert.IsType<ContentResult>(result);
    Assert.Equal("", contentResult.Content);    
}

я хочу проверить контроллер на пустой Content, но при выполнении тестов идет ошибка

Ошибка тестов

Помогите, пожалуйста, разобраться из-за чего эта ошибка появляется.


Ответы (0 шт):