Verifying a JsonResult value

Declare the expected data to be passed to the JsonResult, then return it from the method that should be called given the conditions being tested for. Then assert that is was passed:

[Fact]
public async Task IndexOnGetNewsletterContentOptionsAsync_ReturnsJson_WhenMagazineAndNewsletterTypeSet()
{
    // Arraange
    authService.Setup(x => x.Allows(It.IsAny<ClaimsPrincipal>(), To.ViewNewsletters, To.EditNewsletter)).Returns(true);
    indexModel.MagazineId = 1;
    indexModel.NewsletterType = NewsletterType.News;
    var expectedOptions = new List<SelectOption>() { new() { Value = 1, Text = "Option" } };
    newsletterService.Setup(x => x.GetNewsletterContentOptions(It.IsAny<int>(), It.IsAny<NewsletterType>())).ReturnsAsync(expectedOptions);
    // Act
    var result = await indexModel.OnGetNewsletterContentOptionsAsync();

    // Assert

    var jsonResult = Assert.IsType<JsonResult>(result);
    Assert.Equal(expectedOptions, jsonResult.Value);
}
Last updated: 9/4/2024 12:17:39 PM

Latest Updates

© 0 - 2025 - Mike Brind.
All rights reserved.
Contact me at Mike dot Brind at Outlook.com