From 26392cdd2028eff2132948d5cc5e36e08a2d69a9 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 From ec3743db2079e88a184c49564a7f46bbddf4b03e Mon Sep 17 00:00:00 2001 From: 杨宇千 Date: Sun, 11 Aug 2019 15:36:06 +0800 Subject: Clean code. --- Timeline.Tests/AuthorizationUnitTest.cs | 2 +- Timeline.Tests/TokenUnitTest.cs | 4 +--- Timeline.Tests/UserUnitTest.cs | 1 - 3 files changed, 2 insertions(+), 5 deletions(-) (limited to 'Timeline.Tests/TokenUnitTest.cs') diff --git a/Timeline.Tests/AuthorizationUnitTest.cs b/Timeline.Tests/AuthorizationUnitTest.cs index 3df4d0fd..6f52a12d 100644 --- a/Timeline.Tests/AuthorizationUnitTest.cs +++ b/Timeline.Tests/AuthorizationUnitTest.cs @@ -1,3 +1,4 @@ +using FluentAssertions; using Microsoft.AspNetCore.Mvc.Testing; using System.Net; using System.Threading.Tasks; @@ -5,7 +6,6 @@ using Timeline.Tests.Helpers; using Timeline.Tests.Helpers.Authentication; using Xunit; using Xunit.Abstractions; -using FluentAssertions; namespace Timeline.Tests { diff --git a/Timeline.Tests/TokenUnitTest.cs b/Timeline.Tests/TokenUnitTest.cs index 86f51c0b..b5d8a2c8 100644 --- a/Timeline.Tests/TokenUnitTest.cs +++ b/Timeline.Tests/TokenUnitTest.cs @@ -1,8 +1,7 @@ +using FluentAssertions; using Microsoft.AspNetCore.Mvc.Testing; using Microsoft.Extensions.DependencyInjection; -using Newtonsoft.Json; using System; -using System.Net; using System.Net.Http; using Timeline.Controllers; using Timeline.Models.Http; @@ -13,7 +12,6 @@ using Timeline.Tests.Mock.Data; using Timeline.Tests.Mock.Services; using Xunit; using Xunit.Abstractions; -using FluentAssertions; namespace Timeline.Tests { diff --git a/Timeline.Tests/UserUnitTest.cs b/Timeline.Tests/UserUnitTest.cs index 054d9caa..1f72000c 100644 --- a/Timeline.Tests/UserUnitTest.cs +++ b/Timeline.Tests/UserUnitTest.cs @@ -1,6 +1,5 @@ using FluentAssertions; using Microsoft.AspNetCore.Mvc.Testing; -using System.Net; using System.Net.Http; using System.Threading.Tasks; using Timeline.Controllers; -- cgit v1.2.3