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() { } }