mirror of
https://github.com/moeacgx/Telegram-Panel.git
synced 2026-09-06 16:58:55 +08:00
32 lines
1.1 KiB
C#
32 lines
1.1 KiB
C#
using Microsoft.AspNetCore.Http;
|
|
using TelegramPanel.Web.Api;
|
|
using Xunit;
|
|
|
|
namespace TelegramPanel.Web.Tests;
|
|
|
|
public sealed class AdminUsernameValidationTests
|
|
{
|
|
[Theory]
|
|
[InlineData("abc", "后台用户名长度应为 4-32 位")]
|
|
[InlineData("admin", "请不要使用常见后台用户名")]
|
|
[InlineData("ROOT", "请不要使用常见后台用户名")]
|
|
public async Task ChangeAdminUsername_InvalidUsername_ReturnsBadRequest(
|
|
string username,
|
|
string expectedMessage)
|
|
{
|
|
var result = await PanelAdminApiEndpoints.ChangeAdminUsernameAsync(
|
|
new ChangeAdminUsernameRequestDto("current-password", username),
|
|
new DefaultHttpContext(),
|
|
credentialStore: null!,
|
|
CancellationToken.None);
|
|
|
|
Assert.Equal(
|
|
StatusCodes.Status400BadRequest,
|
|
Assert.IsAssignableFrom<IStatusCodeHttpResult>(result).StatusCode);
|
|
var response = Assert.IsType<OperationResultDto>(
|
|
Assert.IsAssignableFrom<IValueHttpResult>(result).Value);
|
|
Assert.False(response.Success);
|
|
Assert.Equal(expectedMessage, response.Message);
|
|
}
|
|
}
|