using System.Diagnostics;
using NATS.Server.TestUtilities;

namespace NATS.Server.JetStream.Tests;

public class JetStreamFlowReplayBackoffTests
{
    [Fact]
    public async Task Replay_original_respects_message_timestamps_with_backoff_redelivery()
    {
        await using var fx = await JetStreamApiFixture.StartWithReplayOriginalConsumerAsync();
        var sw = Stopwatch.StartNew();
        _ = await fx.FetchAsync("ORDERS", "RO", 1);
        sw.ElapsedMilliseconds.ShouldBeGreaterThanOrEqualTo(50);
    }
}
