Files
blog.stevanfreeborn.com/test/Blog.Tests/Unit/Feed.spec.razor
T

45 lines
967 B
Plaintext
Raw Normal View History

@inherits Bunit.BunitContext
2024-04-10 01:28:38 -05:00
@code
{
2024-04-10 01:28:38 -05:00
private Mock<IPostService> _postServiceMock = new();
[Test]
public void Feed_WhenRendedAndNoPosts_ItShouldRenderNoPostsMessage()
{
_postServiceMock
.Setup(x => x.GetPostsAsync())
.ReturnsAsync(new List<Post>());
2024-04-10 01:28:38 -05:00
var ctx = new BunitContext();
2024-04-10 01:28:38 -05:00
ctx.Services.AddSingleton(_postServiceMock.Object);
var cut = ctx.Render(@<Feed />);
cut.Find("p").MarkupMatches("<p>Looks like writers block. Check back later.</p>");
}
[Test]
public void Feed_WhenRendedAndPosts_ItShouldRenderPosts()
{
List<Post> posts = [
new Post() { Title = "Post 1", },
new Post() { Title = "Post 2", },
];
2024-04-10 01:28:38 -05:00
_postServiceMock
.Setup(x => x.GetPostsAsync())
.ReturnsAsync(posts);
2024-04-10 01:28:38 -05:00
var ctx = new BunitContext();
2024-04-10 01:28:38 -05:00
ctx.Services.AddScoped(_ => _postServiceMock.Object);
var cut = ctx.Render(@<Feed />);
var articles = cut.FindAll("article");
articles.Count.Should().Be(2);
}
}