From ec7dfb73ace61a1aba5156cc1048cbe32ee1cee6 Mon Sep 17 00:00:00 2001 From: 杨宇千 Date: Mon, 21 Oct 2019 20:47:31 +0800 Subject: ... --- Timeline.Tests/IntegratedTests/UserDetailTest.cs | 145 ----------------------- 1 file changed, 145 deletions(-) delete mode 100644 Timeline.Tests/IntegratedTests/UserDetailTest.cs (limited to 'Timeline.Tests/IntegratedTests/UserDetailTest.cs') diff --git a/Timeline.Tests/IntegratedTests/UserDetailTest.cs b/Timeline.Tests/IntegratedTests/UserDetailTest.cs deleted file mode 100644 index 4d268efa..00000000 --- a/Timeline.Tests/IntegratedTests/UserDetailTest.cs +++ /dev/null @@ -1,145 +0,0 @@ -using FluentAssertions; -using Microsoft.AspNetCore.Mvc.Testing; -using System; -using System.Net; -using System.Threading.Tasks; -using Timeline.Controllers; -using Timeline.Models; -using Timeline.Tests.Helpers; -using Timeline.Tests.Helpers.Authentication; -using Timeline.Tests.Mock.Data; -using Xunit; - -namespace Timeline.Tests.IntegratedTests -{ - public class UserDetailTest : IClassFixture>, IDisposable - { - private readonly TestApplication _testApp; - private readonly WebApplicationFactory _factory; - - public UserDetailTest(WebApplicationFactory factory) - { - _testApp = new TestApplication(factory); - _factory = _testApp.Factory; - } - - public void Dispose() - { - _testApp.Dispose(); - } - - [Fact] - public async Task TestAsUser() - { - using (var client = await _factory.CreateClientAsUser()) - { - { - var res = await client.GetAsync($"users/usernotexist/nickname"); - res.Should().HaveStatusCode(404) - .And.Should().HaveCommonBody().Which.Code.Should().Be(UserDetailController.ErrorCodes.GetNickname_UserNotExist); - } - - { - var res = await client.GetAsync($"users/usernotexist/details"); - res.Should().HaveStatusCode(404) - .And.Should().HaveCommonBody().Which.Code.Should().Be(UserDetailController.ErrorCodes.Get_UserNotExist); - } - - async Task GetAndTest(UserDetail d) - { - var res = await client.GetAsync($"users/{MockUser.User.Username}/details"); - res.Should().HaveStatusCode(200) - .And.Should().HaveJsonBody() - .Which.Should().BeEquivalentTo(d); - } - - await GetAndTest(new UserDetail()); - - { - var res = await client.PatchAsJsonAsync($"users/{MockUser.Admin.Username}/details", new UserDetail()); - res.Should().HaveStatusCode(HttpStatusCode.Forbidden) - .And.Should().HaveCommonBody().Which.Code.Should().Be(UserDetailController.ErrorCodes.Patch_Forbid); - } - - { - var res = await client.PatchAsJsonAsync($"users/{MockUser.User.Username}/details", new UserDetail - { - Nickname = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - QQ = "aaaaaaa", - Email = "aaaaaa", - PhoneNumber = "aaaaaaaa" - }); - var body = res.Should().HaveStatusCode(HttpStatusCode.BadRequest) - .And.Should().HaveCommonBody().Which; - body.Code.Should().Be(ErrorCodes.Http.Common.InvalidModel); - foreach (var key in new string[] { "nickname", "qq", "email", "phonenumber" }) - { - body.Message.Should().ContainEquivalentOf(key); - } - } - - - var detail = new UserDetail - { - Nickname = "aaa", - QQ = "1234567", - Email = "aaaa@aaa.net", - Description = "aaaaaaaaa" - }; - - { - var res = await client.PatchAsJsonAsync($"users/{MockUser.User.Username}/details", detail); - res.Should().HaveStatusCode(200); - await GetAndTest(detail); - } - - { - var res = await client.GetAsync($"users/{MockUser.User.Username}/nickname"); - res.Should().HaveStatusCode(200).And.Should().HaveJsonBody() - .Which.Should().BeEquivalentTo(new UserDetail - { - Nickname = detail.Nickname - }); - } - - var detail2 = new UserDetail - { - QQ = "", - PhoneNumber = "12345678910", - Description = "bbbbbbbb" - }; - - { - var res = await client.PatchAsJsonAsync($"users/{MockUser.User.Username}/details", detail2); - res.Should().HaveStatusCode(200); - await GetAndTest(new UserDetail - { - Nickname = detail.Nickname, - QQ = null, - Email = detail.Email, - PhoneNumber = detail2.PhoneNumber, - Description = detail2.Description - }); - } - } - } - - [Fact] - public async Task TestAsAdmin() - { - using (var client = await _factory.CreateClientAsAdmin()) - { - { - var res = await client.PatchAsJsonAsync($"users/{MockUser.User.Username}/details", new UserDetail()); - res.Should().HaveStatusCode(200); - } - - { - var res = await client.PatchAsJsonAsync($"users/usernotexist/details", new UserDetail()); - res.Should().HaveStatusCode(404) - .And.Should().HaveCommonBody().Which.Code.Should().Be(UserDetailController.ErrorCodes.Patch_UserNotExist); - } - } - } - } -} \ No newline at end of file -- cgit v1.2.3