using JdeScoping.Infrastructure.Auth; using Shouldly; namespace JdeScoping.Infrastructure.Tests.Unit; public class FakeAuthServiceTests { private readonly FakeAuthService _sut; public FakeAuthServiceTests() { _sut = new FakeAuthService(); } [Fact] public async Task AuthenticateAsync_WithValidCredentials_ReturnsSuccess() { // Act var result = await _sut.AuthenticateAsync("testuser", "password"); // Assert result.Success.ShouldBeTrue(); result.User.ShouldNotBeNull(); result.User.Username.ShouldBe("testuser"); result.User.EmailAddress.ShouldBe("testuser@example.com"); } [Fact] public async Task AuthenticateAsync_AnyCredentials_ReturnsSuccess() { // FakeAuthService accepts any non-empty credentials var result = await _sut.AuthenticateAsync("anyuser", "anypassword"); // Assert result.Success.ShouldBeTrue(); result.User.ShouldNotBeNull(); result.ErrorMessage.ShouldBeNull(); } }