using Meezi.Core.Enums;
using Meezi.Core.Platform;
using Meezi.Infrastructure.Services.Platform;
namespace Meezi.API.Tests;
/// Test double: every feature enabled, unlimited limits. Keeps plan gating
/// out of the way for service-level tests.
internal sealed class NoOpPlatformCatalogService : IPlatformCatalogService
{
public Task> GetPlansAsync(CancellationToken ct = default) =>
Task.FromResult>([]);
public Task GetPlanAsync(PlanTier tier, CancellationToken ct = default) =>
Task.FromResult(null);
public Task GetLimitsAsync(PlanTier tier, CancellationToken ct = default) =>
Task.FromResult(new PlanLimitsData());
public Task GetMonthlyPriceTomanAsync(PlanTier tier, CancellationToken ct = default) =>
Task.FromResult(0m);
public Task IsBillableOnlineAsync(PlanTier tier, CancellationToken ct = default) =>
Task.FromResult(false);
public Task> GetSettingsAsync(CancellationToken ct = default) =>
Task.FromResult>([]);
public Task GetSettingAsync(string key, CancellationToken ct = default) =>
Task.FromResult(null);
public Task> GetFeaturesAsync(CancellationToken ct = default) =>
Task.FromResult>([]);
public Task> GetEffectiveFeaturesForCafeAsync(
string cafeId, PlanTier planTier, CancellationToken ct = default) =>
Task.FromResult>(new Dictionary());
public Task IsFeatureEnabledForCafeAsync(
string cafeId, PlanTier planTier, string featureKey, CancellationToken ct = default) =>
Task.FromResult(true);
public void InvalidateCache() { }
}