Files
blog.stevanfreeborn.com/test/Blog.Tests/Unit/Feed.spec.razor
T
Stevan Freeborn 14f0d06cf4 post: add post about building the blog (#10)
* post: stub out initial post with outline

* fix: add title attribute to lead in feed and add disc to list styles in posts

* fix: apply style to artcile

* post: work on rough draft

* post: work on rough draft

* post: work on rought draft

* post: work on rought draft

* post: more work on rough draft

* post: finish post

* chore: cleanup usings

* chore: run dotnet format

* docs: testing README

* docs: update README.md
2024-04-18 22:24:12 -05:00

45 lines
985 B
Plaintext

@inherits Bunit.TestContext
@code
{
private Mock<IPostService> _postServiceMock = new();
[Test]
public void Feed_WhenRendedAndNoPosts_ItShouldRenderNoPostsMessage()
{
_postServiceMock
.Setup(x => x.GetPostsAsync())
.ReturnsAsync(new List<Post>());
var ctx = new TestContext();
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", },
];
_postServiceMock
.Setup(x => x.GetPostsAsync())
.ReturnsAsync(posts);
var ctx = new TestContext();
ctx.Services.AddScoped(_ => _postServiceMock.Object);
var cut = ctx.Render(@<Feed />);
var articles = cut.FindAll("article");
articles.Count.Should().Be(2);
}
}