Skip to content

Commit e2e1445

Browse files
committed
Add test for read time
1 parent 9486bbf commit e2e1445

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

src/LinkDotNet.Blog.Web/Shared/ShortBlogPost.razor

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
var words = BlogPost.Content.Split(Array.Empty<char>(), StringSplitOptions.RemoveEmptyEntries).Length;
5252

5353
var readTimeInPrecision = images * 15 + words / 3.333;
54-
readTime = (int)Math.Floor(readTimeInPrecision / 60);
54+
readTime = (int)Math.Ceiling(readTimeInPrecision / 60);
5555
}
5656

5757
private int GetAllOccurrences(string text, string lookup)

tests/LinkDotNet.Blog.UnitTests/Web/Shared/ShortBlogPostTests.cs

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,17 @@ public void ShouldNavigateToEscapedTagSiteWhenClickingOnTag()
3333

3434
searchByTagLink.Attributes.Single(a => a.Name == "href").Value.Should().Be("/searchByTag/Tag%201");
3535
}
36-
}
36+
37+
[Fact]
38+
public void ShouldCalculateReadTime()
39+
{
40+
var content = string.Join(' ', Enumerable.Repeat("word", 700)) + string.Join(' ', Enumerable.Repeat("<img>", 4));
41+
var blogPost = new BlogPostBuilder().WithContent(content).Build();
42+
var cut = RenderComponent<ShortBlogPost>(
43+
p => p.Add(c => c.BlogPost, blogPost));
44+
45+
var readTime = cut.Find(".read-time");
46+
47+
readTime.TextContent.Should().Be("5 min");
48+
}
49+
}

0 commit comments

Comments
 (0)