604bfe919c
Apply comprehensive fixes from code reviews including: - Extract shared utilities (SqlFormatHelper, CellValueConverter, DbDestinationBase) - Add interface abstractions (IAuthenticationService, IDatabaseMigrator, IMisQueryBuilder) - Implement SecureStore for encrypted secrets storage - Fix error handling with proper HTTP status codes and logging - Optimize double enumeration in DevEtlRegistry - Add DataSync.Dev README for developer onboarding - Extract filter panel base classes to reduce duplication - Update code review docs to mark all issues as fixed
41 lines
1.1 KiB
C#
41 lines
1.1 KiB
C#
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();
|
|
}
|
|
|
|
}
|