using NATS.Server.TestUtilities;

namespace NATS.Server.JetStream.Tests;

public class JetStreamPushConsumerTests
{
    [Fact]
    public async Task Push_consumer_delivers_and_sends_heartbeat()
    {
        await using var fixture = await JetStreamApiFixture.StartWithPushConsumerAsync();
        await fixture.PublishAndGetAckAsync("orders.created", "1");

        var frame = await fixture.ReadPushFrameAsync();
        frame.IsData.ShouldBeTrue();

        var hb = await fixture.ReadPushFrameAsync();
        hb.IsHeartbeat.ShouldBeTrue();
    }
}
