26ff8d9b4f
Set up repository with legacy .NET Framework 4.8 source (OLD/), new .NET 10 Blazor solution (NEW/), OpenSpec specifications, documentation, and project configuration.
78 lines
2.2 KiB
C#
78 lines
2.2 KiB
C#
using JdeScoping.Infrastructure.Auth;
|
|
using Shouldly;
|
|
|
|
namespace JdeScoping.Api.Tests.Services;
|
|
|
|
public class FakeAuthServiceTests
|
|
{
|
|
private readonly FakeAuthService _service;
|
|
|
|
public FakeAuthServiceTests()
|
|
{
|
|
_service = new FakeAuthService();
|
|
}
|
|
|
|
[Fact]
|
|
public async Task AuthenticateAsync_AnyCredentials_ReturnsSuccess()
|
|
{
|
|
// Act
|
|
var result = await _service.AuthenticateAsync("anyuser", "anypassword");
|
|
|
|
// Assert
|
|
result.Success.ShouldBeTrue();
|
|
result.User.ShouldNotBeNull();
|
|
result.ErrorMessage.ShouldBeNull();
|
|
}
|
|
|
|
[Fact]
|
|
public async Task AuthenticateAsync_UserInfoPopulatedCorrectly()
|
|
{
|
|
// Act
|
|
var result = await _service.AuthenticateAsync("testuser", "password");
|
|
|
|
// Assert
|
|
result.User.ShouldNotBeNull();
|
|
result.User.Username.ShouldBe("testuser"); // lowercase
|
|
result.User.FirstName.ShouldBe("Dev");
|
|
result.User.LastName.ShouldBe("User");
|
|
result.User.EmailAddress.ShouldBe("testuser@example.com");
|
|
result.User.Title.ShouldBe("Developer");
|
|
result.User.Dn.ShouldBe("CN=testuser,OU=Users,DC=example,DC=com");
|
|
}
|
|
|
|
[Fact]
|
|
public async Task AuthenticateAsync_UsernameIsLowercased()
|
|
{
|
|
// Act
|
|
var result = await _service.AuthenticateAsync("TestUser", "password");
|
|
|
|
// Assert
|
|
result.User.ShouldNotBeNull();
|
|
result.User.Username.ShouldBe("testuser");
|
|
}
|
|
|
|
[Fact]
|
|
public async Task GetUserInfoAsync_ReturnsUserInfo()
|
|
{
|
|
// Act
|
|
var result = await _service.GetUserInfoAsync("testuser");
|
|
|
|
// Assert
|
|
result.ShouldNotBeNull();
|
|
result.Username.ShouldBe("testuser");
|
|
result.FirstName.ShouldBe("Dev");
|
|
result.LastName.ShouldBe("User");
|
|
}
|
|
|
|
[Fact]
|
|
public async Task AuthenticateAsync_DisplayNameComputedCorrectly()
|
|
{
|
|
// Act
|
|
var result = await _service.AuthenticateAsync("testuser", "password");
|
|
|
|
// Assert
|
|
result.User.ShouldNotBeNull();
|
|
result.User.DisplayName.ShouldBe("Dev User");
|
|
}
|
|
}
|