namespace NATS.Server.Tests;

public class JetStreamPushConsumerContractTests
{
    [Fact]
    public async Task Ack_all_advances_floor_and_clears_pending_before_sequence()
    {
        await using var fx = await JetStreamApiFixture.StartWithAckAllConsumerAsync();
        await fx.PublishManyAsync("orders.created", ["1", "2", "3"]);

        var first = await fx.FetchAsync("ORDERS", "ACKALL", 3);
        await fx.AckAllAsync("ORDERS", "ACKALL", first.Messages.Last().Sequence);

        var pending = await fx.GetPendingCountAsync("ORDERS", "ACKALL");
        pending.ShouldBe(0);
    }
}
