Skip to content

Commit 47452d8

Browse files
committed
Added AccessControlTests.cs
1 parent 5663c3d commit 47452d8

File tree

4 files changed

+45
-19
lines changed

4 files changed

+45
-19
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
using Bunit;
2+
using Bunit.TestDoubles;
3+
using FluentAssertions;
4+
using LinkDotNet.Blog.Web.Shared;
5+
using Xunit;
6+
7+
namespace LinkDotNet.Blog.UnitTests.Web
8+
{
9+
public class AccessControlTests : TestContext
10+
{
11+
[Fact]
12+
public void ShouldShowLoginAndHideAdminWhenNotLoggedIn()
13+
{
14+
this.AddTestAuthorization();
15+
16+
var cut = RenderComponent<AccessControl>();
17+
18+
cut.FindAll("a:contains('Admin')").Should().HaveCount(0);
19+
cut.FindAll("a:contains('Log in')").Should().HaveCount(1);
20+
}
21+
22+
[Fact]
23+
public void ShouldShowLogoutAndAdminWhenLoggedIn()
24+
{
25+
this.AddTestAuthorization().SetAuthorized("steven");
26+
27+
var cut = RenderComponent<AccessControl>();
28+
29+
cut.FindAll("a:contains('Admin')").Should().HaveCount(1);
30+
cut.FindAll("a:contains('Log out')").Should().HaveCount(1);
31+
}
32+
}
33+
}

LinkDotNet.Blog.UnitTests/Web/Shared/Admin/CreateNewBlogPostTests.cs

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,13 @@
99

1010
namespace LinkDotNet.Blog.UnitTests.Web.Shared.Admin
1111
{
12-
public class CreateNewBlogPostTests
12+
public class CreateNewBlogPostTests : TestContext
1313
{
1414
[Fact]
1515
public void ShouldCreateNewBlogPostWhenValidDataGiven()
1616
{
17-
using var ctx = new TestContext();
1817
BlogPost blogPost = null;
19-
var cut = ctx.RenderComponent<CreateNewBlogPost>(
18+
var cut = RenderComponent<CreateNewBlogPost>(
2019
p => p.Add(c => c.OnBlogPostCreated, bp => blogPost = bp));
2120
cut.Find("#title").Change("My Title");
2221
cut.Find("#short").Change("My short Description");
@@ -41,10 +40,9 @@ public void ShouldCreateNewBlogPostWhenValidDataGiven()
4140
[Fact]
4241
public void ShouldFillGivenBlogPost()
4342
{
44-
using var ctx = new TestContext();
4543
var blogPost = new BlogPostBuilder().WithTitle("Title").WithShortDescription("Desc").WithContent("Content").Build();
4644
BlogPost blogPostFromComponent = null;
47-
var cut = ctx.RenderComponent<CreateNewBlogPost>(
45+
var cut = RenderComponent<CreateNewBlogPost>(
4846
p =>
4947
p.Add(c => c.OnBlogPostCreated, bp => blogPostFromComponent = bp)
5048
.Add(c => c.BlogPost, blogPost));
@@ -62,9 +60,8 @@ public void ShouldFillGivenBlogPost()
6260
[Fact]
6361
public void ShouldNotDeleteModelWhenSet()
6462
{
65-
using var ctx = new TestContext();
6663
BlogPost blogPost = null;
67-
var cut = ctx.RenderComponent<CreateNewBlogPost>(
64+
var cut = RenderComponent<CreateNewBlogPost>(
6865
p => p.Add(c => c.ClearAfterCreated, true)
6966
.Add(c => c.OnBlogPostCreated, post => blogPost = post));
7067
cut.Find("#title").Change("My Title");
@@ -83,9 +80,8 @@ public void ShouldNotDeleteModelWhenSet()
8380
[Fact]
8481
public void ShouldNotDeleteModelWhenNotSet()
8582
{
86-
using var ctx = new TestContext();
8783
BlogPost blogPost = null;
88-
var cut = ctx.RenderComponent<CreateNewBlogPost>(
84+
var cut = RenderComponent<CreateNewBlogPost>(
8985
p => p.Add(c => c.ClearAfterCreated, false)
9086
.Add(c => c.OnBlogPostCreated, post => blogPost = post));
9187
cut.Find("#title").Change("My Title");

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

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,14 @@
77

88
namespace LinkDotNet.Blog.UnitTests.Web.Shared
99
{
10-
public class ShortBlogPostTests
10+
public class ShortBlogPostTests : TestContext
1111
{
1212
[Fact]
1313
public void ShouldOpenBlogPost()
1414
{
15-
using var ctx = new TestContext();
1615
var blogPost = new BlogPostBuilder().Build();
1716
blogPost.Id = "SomeId";
18-
var cut = ctx.RenderComponent<ShortBlogPost>(
17+
var cut = RenderComponent<ShortBlogPost>(
1918
p => p.Add(c => c.BlogPost, blogPost));
2019

2120
var readMore = cut.Find(".read-more a");
@@ -26,9 +25,8 @@ public void ShouldOpenBlogPost()
2625
[Fact]
2726
public void ShouldNavigateToEscapedTagSiteWhenClickingOnTag()
2827
{
29-
using var ctx = new TestContext();
3028
var blogPost = new BlogPostBuilder().WithTags("Tag 1").Build();
31-
var cut = ctx.RenderComponent<ShortBlogPost>(
29+
var cut = RenderComponent<ShortBlogPost>(
3230
p => p.Add(c => c.BlogPost, blogPost));
3331

3432
var searchByTagLink = cut.Find(".goto-tag");

LinkDotNet.Blog.UnitTests/Web/Shared/TitleTests.cs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,16 @@
55

66
namespace LinkDotNet.Blog.UnitTests.Web.Shared
77
{
8-
public class TitleTests
8+
public class TitleTests : TestContext
99
{
1010
[Fact]
1111
public void ShouldSetTitle()
1212
{
13-
using var ctx = new TestContext();
14-
ctx.JSInterop.Mode = JSRuntimeMode.Loose;
13+
JSInterop.Mode = JSRuntimeMode.Loose;
1514

16-
ctx.RenderComponent<Title>(c => c.Add(p => p.Value, "New Title"));
15+
RenderComponent<Title>(c => c.Add(p => p.Value, "New Title"));
1716

18-
ctx.JSInterop.VerifyInvoke("setDocumentTitle").Arguments[0].Should().Be("New Title");
17+
JSInterop.VerifyInvoke("setDocumentTitle").Arguments[0].Should().Be("New Title");
1918
}
2019
}
2120
}

0 commit comments

Comments
 (0)