Add MedMind recovery and Steam authentication
This commit is contained in:
@@ -48,6 +48,49 @@ public class AuthControllerTests
|
||||
Assert.IsType<UnauthorizedResult>(result);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Login_EmailIdentifier_ReturnsTokens()
|
||||
{
|
||||
var config = new ConfigurationBuilder().AddInMemoryCollection(new Dictionary<string, string?>
|
||||
{
|
||||
["Jwt:Key"] = "abcdefghijklmnopqrstuvwxyz123456",
|
||||
["Jwt:Issuer"] = "issuer",
|
||||
["MongoDB:ConnectionString"] = "mongodb://localhost",
|
||||
["MongoDB:DatabaseName"] = "test"
|
||||
}).Build();
|
||||
var user = new User
|
||||
{
|
||||
Id = "507f1f77bcf86cd799439011", Username = "student", Email = "[email protected]",
|
||||
PasswordHash = BCrypt.Net.BCrypt.HashPassword("password123"), Role = "USER"
|
||||
};
|
||||
var users = new Mock<UserService>(config);
|
||||
users.Setup(x => x.GetByLoginAsync("[email protected]")).ReturnsAsync(user);
|
||||
users.Setup(x => x.UpdateAsync(user)).Returns(Task.CompletedTask);
|
||||
var controller = new AuthController(users.Object, config, new Mock<BlacklistService>(config).Object);
|
||||
|
||||
var result = await controller.Login(new LoginRequest { Username = "[email protected]", Password = "password123" });
|
||||
|
||||
Assert.IsType<OkObjectResult>(result);
|
||||
Assert.False(string.IsNullOrWhiteSpace(user.RefreshToken));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Register_DuplicateEmail_ReturnsBadRequest()
|
||||
{
|
||||
var config = GetConfig();
|
||||
var users = new Mock<UserService>(config);
|
||||
users.Setup(x => x.GetByLoginAsync("new_user")).ReturnsAsync((User?)null);
|
||||
users.Setup(x => x.GetByLoginAsync("[email protected]")).ReturnsAsync(new User());
|
||||
var controller = new AuthController(users.Object, config, new Mock<BlacklistService>(config).Object);
|
||||
|
||||
var result = await controller.Register(new RegisterRequest
|
||||
{
|
||||
Username = "new_user", Email = "[email protected]", Password = "password123"
|
||||
});
|
||||
|
||||
Assert.IsType<BadRequestObjectResult>(result);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Refresh_InvalidToken_ReturnsUnauthorized()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user