using Meezi.API.Services.Delivery;
using Meezi.Core.Enums;
using Meezi.Core.Interfaces;

namespace Meezi.API.Tests;

internal sealed class NoOpSnappfood : ISnappfoodClient
{
    public Task AcknowledgeOrderAsync(string snappfoodOrderId, CancellationToken cancellationToken = default) =>
        Task.CompletedTask;
    public Task NotifyOrderDeliveredAsync(string snappfoodOrderId, CancellationToken cancellationToken = default) =>
        Task.CompletedTask;
    public Task NotifyOrderStatusAsync(string snappfoodOrderId, string status, CancellationToken cancellationToken = default) =>
        Task.CompletedTask;
}

internal sealed class NoOpDeliverySync : IDeliveryStatusSyncService
{
    public Task<bool> SyncInternalStatusAsync(
        string cafeId,
        string orderId,
        OrderStatus newStatus,
        CancellationToken ct = default) => Task.FromResult(false);

    public Task<bool> ApplyPlatformStatusAsync(
        DeliveryPlatform platform,
        string externalOrderId,
        string platformStatus,
        CancellationToken ct = default) => Task.FromResult(false);
}
