From 45a6ca3a189a81060ae44d0764248547fe2b686c Mon Sep 17 00:00:00 2001 From: crupest Date: Fri, 31 Jan 2020 15:21:58 +0800 Subject: Combine two user info types. --- Timeline.Tests/IntegratedTests/IntegratedTestBase.cs | 15 ++++++++------- .../IntegratedTests/PersonalTimelineTest.cs | 8 ++++---- Timeline.Tests/IntegratedTests/TokenTest.cs | 4 ++-- Timeline.Tests/IntegratedTests/UserTest.cs | 20 ++++++++++---------- 4 files changed, 24 insertions(+), 23 deletions(-) (limited to 'Timeline.Tests') diff --git a/Timeline.Tests/IntegratedTests/IntegratedTestBase.cs b/Timeline.Tests/IntegratedTests/IntegratedTestBase.cs index 242e96cd..59af5eab 100644 --- a/Timeline.Tests/IntegratedTests/IntegratedTestBase.cs +++ b/Timeline.Tests/IntegratedTests/IntegratedTestBase.cs @@ -15,6 +15,12 @@ namespace Timeline.Tests.IntegratedTests public abstract class IntegratedTestBase : IClassFixture>, IDisposable { + static IntegratedTestBase() + { + FluentAssertions.AssertionOptions.AssertEquivalencyUsing(options => + options.Excluding(m => m.RuntimeType == typeof(UserInfo) && m.SelectedMemberPath == "_links")); + } + protected TestApplication TestApp { get; } protected WebApplicationFactory Factory => TestApp.Factory; @@ -56,7 +62,6 @@ namespace Timeline.Tests.IntegratedTests } var userInfoList = new List(); - var userInfoForAdminList = new List(); var userService = scope.ServiceProvider.GetRequiredService(); var mapper = scope.ServiceProvider.GetRequiredService(); @@ -65,11 +70,9 @@ namespace Timeline.Tests.IntegratedTests { userService.CreateUser(user).Wait(); userInfoList.Add(mapper.Map(user)); - userInfoForAdminList.Add(mapper.Map(user)); } - UserInfoList = userInfoList; - UserInfoForAdminList = userInfoForAdminList; + UserInfos = userInfoList; } } @@ -83,9 +86,7 @@ namespace Timeline.Tests.IntegratedTests TestApp.Dispose(); } - public IReadOnlyList UserInfoList { get; } - - public IReadOnlyList UserInfoForAdminList { get; } + public IReadOnlyList UserInfos { get; } public Task CreateDefaultClient() { diff --git a/Timeline.Tests/IntegratedTests/PersonalTimelineTest.cs b/Timeline.Tests/IntegratedTests/PersonalTimelineTest.cs index dacfea62..f3d6b172 100644 --- a/Timeline.Tests/IntegratedTests/PersonalTimelineTest.cs +++ b/Timeline.Tests/IntegratedTests/PersonalTimelineTest.cs @@ -26,7 +26,7 @@ namespace Timeline.Tests.IntegratedTests var res = await client.GetAsync("users/user1/timeline"); var body = res.Should().HaveStatusCode(200) .And.HaveJsonBody().Which; - body.Owner.Should().BeEquivalentTo(UserInfoList[1]); + body.Owner.Should().BeEquivalentTo(UserInfos[1]); body.Visibility.Should().Be(TimelineVisibility.Register); body.Description.Should().Be(""); body.Members.Should().NotBeNull().And.BeEmpty(); @@ -169,7 +169,7 @@ namespace Timeline.Tests.IntegratedTests var res = await client.PutAsync("/users/user1/timeline/members/user2", null); res.Should().HaveStatusCode(200); } - await AssertMembers(new List { UserInfoList[2] }); + await AssertMembers(new List { UserInfos[2] }); { var res = await client.DeleteAsync("/users/user1/timeline/members/user2"); res.Should().BeDelete(true); @@ -452,7 +452,7 @@ namespace Timeline.Tests.IntegratedTests .Which; body.Should().NotBeNull(); body.Content.Should().Be(mockContent); - body.Author.Should().BeEquivalentTo(UserInfoList[1]); + body.Author.Should().BeEquivalentTo(UserInfos[1]); createRes = body; } { @@ -472,7 +472,7 @@ namespace Timeline.Tests.IntegratedTests .Which; body.Should().NotBeNull(); body.Content.Should().Be(mockContent2); - body.Author.Should().BeEquivalentTo(UserInfoList[1]); + body.Author.Should().BeEquivalentTo(UserInfos[1]); body.Time.Should().BeCloseTo(mockTime2, 1000); createRes2 = body; } diff --git a/Timeline.Tests/IntegratedTests/TokenTest.cs b/Timeline.Tests/IntegratedTests/TokenTest.cs index ec7514ff..928d546c 100644 --- a/Timeline.Tests/IntegratedTests/TokenTest.cs +++ b/Timeline.Tests/IntegratedTests/TokenTest.cs @@ -77,7 +77,7 @@ namespace Timeline.Tests.IntegratedTests var body = response.Should().HaveStatusCode(200) .And.HaveJsonBody().Which; body.Token.Should().NotBeNullOrWhiteSpace(); - body.User.Should().BeEquivalentTo(UserInfoForAdminList[1]); + body.User.Should().BeEquivalentTo(UserInfos[1]); } [Fact] @@ -165,7 +165,7 @@ namespace Timeline.Tests.IntegratedTests new VerifyTokenRequest { Token = createTokenResult.Token }); response.Should().HaveStatusCode(200) .And.HaveJsonBody() - .Which.User.Should().BeEquivalentTo(UserInfoForAdminList[1]); + .Which.User.Should().BeEquivalentTo(UserInfos[1]); } } } diff --git a/Timeline.Tests/IntegratedTests/UserTest.cs b/Timeline.Tests/IntegratedTests/UserTest.cs index 1b9733ff..bbeb6ad6 100644 --- a/Timeline.Tests/IntegratedTests/UserTest.cs +++ b/Timeline.Tests/IntegratedTests/UserTest.cs @@ -25,7 +25,7 @@ namespace Timeline.Tests.IntegratedTests var res = await client.GetAsync("/users"); res.Should().HaveStatusCode(200) .And.HaveJsonBody() - .Which.Should().BeEquivalentTo(UserInfoList); + .Which.Should().BeEquivalentTo(UserInfos); } [Fact] @@ -35,7 +35,7 @@ namespace Timeline.Tests.IntegratedTests var res = await client.GetAsync("/users"); res.Should().HaveStatusCode(200) .And.HaveJsonBody() - .Which.Should().BeEquivalentTo(UserInfoList); + .Which.Should().BeEquivalentTo(UserInfos); } [Fact] @@ -44,8 +44,8 @@ namespace Timeline.Tests.IntegratedTests using var client = await CreateClientAsAdministrator(); var res = await client.GetAsync("/users"); res.Should().HaveStatusCode(200) - .And.HaveJsonBody() - .Which.Should().BeEquivalentTo(UserInfoForAdminList); + .And.HaveJsonBody() + .Which.Should().BeEquivalentTo(UserInfos); } [Fact] @@ -55,7 +55,7 @@ namespace Timeline.Tests.IntegratedTests var res = await client.GetAsync($"/users/admin"); res.Should().HaveStatusCode(200) .And.HaveJsonBody() - .Which.Should().BeEquivalentTo(UserInfoList[0]); + .Which.Should().BeEquivalentTo(UserInfos[0]); } [Fact] @@ -65,7 +65,7 @@ namespace Timeline.Tests.IntegratedTests var res = await client.GetAsync($"/users/admin"); res.Should().HaveStatusCode(200) .And.HaveJsonBody() - .Which.Should().BeEquivalentTo(UserInfoList[0]); + .Which.Should().BeEquivalentTo(UserInfos[0]); } [Fact] @@ -74,8 +74,8 @@ namespace Timeline.Tests.IntegratedTests using var client = await CreateClientAsAdministrator(); var res = await client.GetAsync($"/users/user1"); res.Should().HaveStatusCode(200) - .And.HaveJsonBody() - .Which.Should().BeEquivalentTo(UserInfoForAdminList[1]); + .And.HaveJsonBody() + .Which.Should().BeEquivalentTo(UserInfos[1]); } [Fact] @@ -134,7 +134,7 @@ namespace Timeline.Tests.IntegratedTests { var res = await client.GetAsync("/users/newuser"); var body = res.Should().HaveStatusCode(200) - .And.HaveJsonBody() + .And.HaveJsonBody() .Which; body.Administrator.Should().Be(true); body.Nickname.Should().Be("aaa"); @@ -301,7 +301,7 @@ namespace Timeline.Tests.IntegratedTests { var res = await client.GetAsync("users/aaa"); var body = res.Should().HaveStatusCode(200) - .And.HaveJsonBody().Which; + .And.HaveJsonBody().Which; body.Username.Should().Be("aaa"); body.Nickname.Should().Be("ccc"); body.Administrator.Should().BeTrue(); -- cgit v1.2.3