From 4d15f7d696825f332884bb23e67760d6d1f5a736 Mon Sep 17 00:00:00 2001 From: 杨宇千 Date: Sun, 11 Aug 2019 15:34:59 +0800 Subject: Add FluentAssertions. --- Timeline.Tests/TokenUnitTest.cs | 45 +++++++++++++++++++---------------------- 1 file changed, 21 insertions(+), 24 deletions(-) (limited to 'Timeline.Tests/TokenUnitTest.cs') diff --git a/Timeline.Tests/TokenUnitTest.cs b/Timeline.Tests/TokenUnitTest.cs index 5f3b8e6d..86f51c0b 100644 --- a/Timeline.Tests/TokenUnitTest.cs +++ b/Timeline.Tests/TokenUnitTest.cs @@ -13,6 +13,7 @@ using Timeline.Tests.Mock.Data; using Timeline.Tests.Mock.Services; using Xunit; using Xunit.Abstractions; +using FluentAssertions; namespace Timeline.Tests { @@ -70,9 +71,8 @@ namespace Timeline.Tests { var response = await client.PostAsJsonAsync(CreateTokenUrl, new CreateTokenRequest { Username = "usernotexist", Password = "???" }); - Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode); - var body = await response.ReadBodyAsJson(); - Assert.Equal(TokenController.ErrorCodes.Create_UserNotExist, body.Code); + response.Should().HaveStatusCodeBadRequest() + .And.Should().HaveBodyAsCommonResponseWithCode(TokenController.ErrorCodes.Create_UserNotExist); } } @@ -83,9 +83,8 @@ namespace Timeline.Tests { var response = await client.PostAsJsonAsync(CreateTokenUrl, new CreateTokenRequest { Username = MockUsers.UserUsername, Password = "???" }); - Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode); - var body = await response.ReadBodyAsJson(); - Assert.Equal(TokenController.ErrorCodes.Create_BadPassword, body.Code); + response.Should().HaveStatusCodeBadRequest() + .And.Should().HaveBodyAsCommonResponseWithCode(TokenController.ErrorCodes.Create_BadPassword); } } @@ -96,10 +95,10 @@ namespace Timeline.Tests { var response = await client.PostAsJsonAsync(CreateTokenUrl, new CreateTokenRequest { Username = MockUsers.UserUsername, Password = MockUsers.UserPassword }); - Assert.Equal(HttpStatusCode.OK, response.StatusCode); - var body = await response.ReadBodyAsJson(); - Assert.NotEmpty(body.Token); - Assert.Equal(MockUsers.UserUserInfo, body.User, UserInfoComparers.EqualityComparer); + var body = response.Should().HaveStatusCodeOk() + .And.Should().HaveBodyAsJson().Which; + body.Token.Should().NotBeNullOrWhiteSpace(); + body.User.Should().BeEquivalentTo(MockUsers.UserUserInfo); } } @@ -119,9 +118,8 @@ namespace Timeline.Tests using (var client = _factory.CreateDefaultClient()) { var response = await client.PostAsJsonAsync(VerifyTokenUrl, new VerifyTokenRequest { Token = "bad token hahaha" }); - Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode); - var body = await response.ReadBodyAsJson(); - Assert.Equal(TokenController.ErrorCodes.Verify_BadToken, body.Code); + response.Should().HaveStatusCodeBadRequest() + .And.Should().HaveBodyAsCommonResponseWithCode(TokenController.ErrorCodes.Verify_BadToken); } } @@ -148,9 +146,9 @@ namespace Timeline.Tests // test against bad version var response = await client.PostAsJsonAsync(VerifyTokenUrl, new VerifyTokenRequest { Token = token }); - Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode); - var body = await response.ReadBodyAsJson(); - Assert.Equal(TokenController.ErrorCodes.Verify_BadVersion, body.Code); + response.Should().HaveStatusCodeBadRequest() + .And.Should().HaveBodyAsCommonResponseWithCode(TokenController.ErrorCodes.Verify_BadVersion); + // create another token var token2 = (await client.CreateUserTokenAsync(username, password)).Token; @@ -160,9 +158,8 @@ namespace Timeline.Tests // test against user not exist var response2 = await client.PostAsJsonAsync(VerifyTokenUrl, new VerifyTokenRequest { Token = token }); - Assert.Equal(HttpStatusCode.BadRequest, response2.StatusCode); - var body2 = await response2.ReadBodyAsJson(); - Assert.Equal(TokenController.ErrorCodes.Verify_UserNotExist, body2.Code); + response2.Should().HaveStatusCodeBadRequest() + .And.Should().HaveBodyAsCommonResponseWithCode(TokenController.ErrorCodes.Verify_UserNotExist); } } } @@ -179,8 +176,8 @@ namespace Timeline.Tests var token = (await client.CreateUserTokenAsync(MockUsers.UserUsername, MockUsers.UserPassword, 1)).Token; var response = await client.PostAsJsonAsync(VerifyTokenUrl, new VerifyTokenRequest { Token = token }); - var body = await response.ReadBodyAsJson(); - Assert.Equal(TokenController.ErrorCodes.Verify_Expired, body.Code); + response.Should().HaveStatusCodeBadRequest() + .And.Should().HaveBodyAsCommonResponseWithCode(TokenController.ErrorCodes.Verify_Expired); mockClock.MockCurrentTime = null; } } @@ -193,9 +190,9 @@ namespace Timeline.Tests var createTokenResult = await client.CreateUserTokenAsync(MockUsers.UserUsername, MockUsers.UserPassword); var response = await client.PostAsJsonAsync(VerifyTokenUrl, new VerifyTokenRequest { Token = createTokenResult.Token }); - Assert.Equal(HttpStatusCode.OK, response.StatusCode); - var body = JsonConvert.DeserializeObject(await response.Content.ReadAsStringAsync()); - Assert.Equal(MockUsers.UserUserInfo, body.User, UserInfoComparers.EqualityComparer); + response.Should().HaveStatusCodeOk() + .And.Should().HaveBodyAsJson() + .Which.User.Should().BeEquivalentTo(MockUsers.UserUserInfo); } } } -- cgit v1.2.3