using NeonSprawl.Server.Game.Gathering;

namespace NeonSprawl.Server.Tests.Game.Gathering;

internal static class ResourceNodeCatalogTestPaths
{
    internal static string DiscoverRepoResourceNodesDirectory() =>
        ResourceNodeCatalogPathResolution.TryDiscoverResourceNodesDirectory(AppContext.BaseDirectory)
        ?? throw new InvalidOperationException(
            "Could not discover repo content/resource-nodes from AppContext.BaseDirectory; run tests from the neon-sprawl clone.");

    internal static string DiscoverRepoResourceNodeDefSchemaPath() =>
        ResourceNodeCatalogPathResolution.ResolveResourceNodeDefSchemaPath(
            DiscoverRepoResourceNodesDirectory(),
            configuredSchemaPath: null,
            contentRootPath: string.Empty);

    internal static string DiscoverRepoResourceYieldRowSchemaPath() =>
        ResourceNodeCatalogPathResolution.ResolveResourceYieldRowSchemaPath(
            DiscoverRepoResourceNodesDirectory(),
            configuredSchemaPath: null,
            contentRootPath: string.Empty);
}
