aboutsummaryrefslogtreecommitdiff
path: root/Timeline.Tests/IntegratedTests/UserUnitTest.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Timeline.Tests/IntegratedTests/UserUnitTest.cs')
-rw-r--r--Timeline.Tests/IntegratedTests/UserUnitTest.cs188
1 files changed, 76 insertions, 112 deletions
diff --git a/Timeline.Tests/IntegratedTests/UserUnitTest.cs b/Timeline.Tests/IntegratedTests/UserUnitTest.cs
index 47a8699c..b00648de 100644
--- a/Timeline.Tests/IntegratedTests/UserUnitTest.cs
+++ b/Timeline.Tests/IntegratedTests/UserUnitTest.cs
@@ -170,131 +170,95 @@ namespace Timeline.Tests.IntegratedTests
res.Should().BeDelete(false);
}
+ private const string changeUsernameUrl = "userop/changeusername";
- public class ChangeUsernameUnitTest : IClassFixture<WebApplicationFactory<Startup>>, IDisposable
+ public static IEnumerable<object[]> Op_ChangeUsername_InvalidModel_Data()
{
- private const string url = "userop/changeusername";
-
- private readonly TestApplication _testApp;
- private readonly WebApplicationFactory<Startup> _factory;
-
- public ChangeUsernameUnitTest(WebApplicationFactory<Startup> factory)
- {
- _testApp = new TestApplication(factory);
- _factory = _testApp.Factory;
- }
-
- public void Dispose()
- {
- _testApp.Dispose();
- }
-
- public static IEnumerable<object[]> InvalidModel_Data()
- {
- yield return new[] { null, "uuu" };
- yield return new[] { "uuu", null };
- yield return new[] { "uuu", "???" };
- }
-
- [Theory]
- [MemberData(nameof(InvalidModel_Data))]
- public async Task InvalidModel(string oldUsername, string newUsername)
- {
- using var client = await _factory.CreateClientAsAdmin();
- (await client.PostAsJsonAsync(url,
- new ChangeUsernameRequest { OldUsername = oldUsername, NewUsername = newUsername }))
- .Should().BeInvalidModel();
- }
-
- [Fact]
- public async Task UserNotExist()
- {
- using var client = await _factory.CreateClientAsAdmin();
- var res = await client.PostAsJsonAsync(url,
- new ChangeUsernameRequest { OldUsername = "usernotexist", NewUsername = "newUsername" });
- res.Should().HaveStatusCode(400)
- .And.Should().HaveCommonBody()
- .Which.Code.Should().Be(Op.ChangeUsername.NotExist);
- }
-
- [Fact]
- public async Task UserAlreadyExist()
- {
- using var client = await _factory.CreateClientAsAdmin();
- var res = await client.PostAsJsonAsync(url,
- new ChangeUsernameRequest { OldUsername = MockUser.User.Username, NewUsername = MockUser.Admin.Username });
- res.Should().HaveStatusCode(400)
- .And.Should().HaveCommonBody()
- .Which.Code.Should().Be(Op.ChangeUsername.AlreadyExist);
- }
-
- [Fact]
- public async Task Success()
- {
- using var client = await _factory.CreateClientAsAdmin();
- const string newUsername = "hahaha";
- var res = await client.PostAsJsonAsync(url,
- new ChangeUsernameRequest { OldUsername = MockUser.User.Username, NewUsername = newUsername });
- res.Should().HaveStatusCode(200);
- await client.CreateUserTokenAsync(newUsername, MockUser.User.Password);
- }
+ yield return new[] { null, "uuu" };
+ yield return new[] { "uuu", null };
+ yield return new[] { "uuu", "???" };
}
+ [Theory]
+ [MemberData(nameof(Op_ChangeUsername_InvalidModel_Data))]
+ public async Task Op_ChangeUsername_InvalidModel(string oldUsername, string newUsername)
+ {
+ using var client = await _factory.CreateClientAsAdmin();
+ (await client.PostAsJsonAsync(changeUsernameUrl,
+ new ChangeUsernameRequest { OldUsername = oldUsername, NewUsername = newUsername }))
+ .Should().BeInvalidModel();
+ }
- public class ChangePasswordUnitTest : IClassFixture<WebApplicationFactory<Startup>>, IDisposable
+ [Fact]
+ public async Task Op_ChangeUsername_UserNotExist()
{
- private const string url = "userop/changepassword";
+ using var client = await _factory.CreateClientAsAdmin();
+ var res = await client.PostAsJsonAsync(changeUsernameUrl,
+ new ChangeUsernameRequest { OldUsername = "usernotexist", NewUsername = "newUsername" });
+ res.Should().HaveStatusCode(400)
+ .And.Should().HaveCommonBody()
+ .Which.Code.Should().Be(Op.ChangeUsername.NotExist);
+ }
- private readonly TestApplication _testApp;
- private readonly WebApplicationFactory<Startup> _factory;
+ [Fact]
+ public async Task Op_ChangeUsername_UserAlreadyExist()
+ {
+ using var client = await _factory.CreateClientAsAdmin();
+ var res = await client.PostAsJsonAsync(changeUsernameUrl,
+ new ChangeUsernameRequest { OldUsername = MockUser.User.Username, NewUsername = MockUser.Admin.Username });
+ res.Should().HaveStatusCode(400)
+ .And.Should().HaveCommonBody()
+ .Which.Code.Should().Be(Op.ChangeUsername.AlreadyExist);
+ }
- public ChangePasswordUnitTest(WebApplicationFactory<Startup> factory)
- {
- _testApp = new TestApplication(factory);
- _factory = _testApp.Factory;
- }
+ [Fact]
+ public async Task Op_ChangeUsername_Success()
+ {
+ using var client = await _factory.CreateClientAsAdmin();
+ const string newUsername = "hahaha";
+ var res = await client.PostAsJsonAsync(changeUsernameUrl,
+ new ChangeUsernameRequest { OldUsername = MockUser.User.Username, NewUsername = newUsername });
+ res.Should().HaveStatusCode(200);
+ await client.CreateUserTokenAsync(newUsername, MockUser.User.Password);
+ }
- public void Dispose()
- {
- _testApp.Dispose();
- }
+ private const string changePasswordUrl = "userop/changepassword";
- public static IEnumerable<object[]> InvalidModel_Data()
- {
- yield return new[] { null, "ppp" };
- yield return new[] { "ppp", null };
- }
+ public static IEnumerable<object[]> Op_ChangePassword_InvalidModel_Data()
+ {
+ yield return new[] { null, "ppp" };
+ yield return new[] { "ppp", null };
+ }
- [Theory]
- [MemberData(nameof(InvalidModel_Data))]
- public async Task InvalidModel(string oldPassword, string newPassword)
- {
- using var client = await _factory.CreateClientAsUser();
- (await client.PostAsJsonAsync(url,
- new ChangePasswordRequest { OldPassword = oldPassword, NewPassword = newPassword }))
- .Should().BeInvalidModel();
- }
+ [Theory]
+ [MemberData(nameof(Op_ChangePassword_InvalidModel_Data))]
+ public async Task Op_ChangePassword_InvalidModel(string oldPassword, string newPassword)
+ {
+ using var client = await _factory.CreateClientAsUser();
+ (await client.PostAsJsonAsync(changePasswordUrl,
+ new ChangePasswordRequest { OldPassword = oldPassword, NewPassword = newPassword }))
+ .Should().BeInvalidModel();
+ }
- [Fact]
- public async Task BadOldPassword()
- {
- using var client = await _factory.CreateClientAsUser();
- var res = await client.PostAsJsonAsync(url, new ChangePasswordRequest { OldPassword = "???", NewPassword = "???" });
- res.Should().HaveStatusCode(400)
- .And.Should().HaveCommonBody()
- .Which.Code.Should().Be(Op.ChangePassword.BadOldPassword);
- }
+ [Fact]
+ public async Task Op_ChangePassword_BadOldPassword()
+ {
+ using var client = await _factory.CreateClientAsUser();
+ var res = await client.PostAsJsonAsync(changePasswordUrl, new ChangePasswordRequest { OldPassword = "???", NewPassword = "???" });
+ res.Should().HaveStatusCode(400)
+ .And.Should().HaveCommonBody()
+ .Which.Code.Should().Be(Op.ChangePassword.BadOldPassword);
+ }
- [Fact]
- public async Task Success()
- {
- using var client = await _factory.CreateClientAsUser();
- const string newPassword = "new";
- var res = await client.PostAsJsonAsync(url,
- new ChangePasswordRequest { OldPassword = MockUser.User.Password, NewPassword = newPassword });
- res.Should().HaveStatusCode(200);
- await client.CreateUserTokenAsync(MockUser.User.Username, newPassword);
- }
+ [Fact]
+ public async Task Op_ChangePassword_Success()
+ {
+ using var client = await _factory.CreateClientAsUser();
+ const string newPassword = "new";
+ var res = await client.PostAsJsonAsync(changePasswordUrl,
+ new ChangePasswordRequest { OldPassword = MockUser.User.Password, NewPassword = newPassword });
+ res.Should().HaveStatusCode(200);
+ await client.CreateUserTokenAsync(MockUser.User.Username, newPassword);
}
}
}