using e_suite.API.Common.repository;
using e_suite.Database.Audit;
using e_suite.Database.Core.Extensions;
using e_suite.Database.Core.Tables.UserManager;
using e_suite.UnitTestCore;
using eSuite.Core.Miscellaneous;
using MockQueryable;

namespace e_suite.Modules.DomainManager.UnitTests.Helpers;

public class FakeSsoManagerRepository : FakeRepository, ISsoManagerRepository
{
    public List<SsoProvider> SsoProviders = new List<SsoProvider>();

    public IQueryable<SsoProvider> GetSsoProviders()
    {
        return SsoProviders.BuildMock();
    }

    public Task<SsoProvider?> GetSsoProviderAsync(IGeneralIdRef generalIdRef, CancellationToken cancellationToken)
    {
        return Task.FromResult(GetSsoProviders().FindByGeneralIdRef(generalIdRef));
    }

    public Task CreateNewSsoProviderAsync(
        AuditUserDetails auditUserDetails,
        SsoProvider newSsoProvider,
        CancellationToken cancellationToken
    )
    {
        throw new NotImplementedException();
    }

    public Task EditNewSsoProviderAsync(
        AuditUserDetails auditUserDetails,
        SsoProvider ssoProvider,
        CancellationToken cancellationToken
    )
    {
        throw new NotImplementedException();
    }
}