using NATS.Server.TestUtilities;

namespace NATS.Server.JetStream.Tests;

public class JetStreamMirrorSourceTests
{
    [Fact]
    public async Task Mirror_stream_replays_origin_messages()
    {
        await using var fixture = await JetStreamApiFixture.StartWithMirrorSetupAsync();

        await fixture.PublishAndGetAckAsync("ORDERS", "orders.created", "1");
        await fixture.WaitForMirrorSyncAsync("ORDERS_MIRROR");

        var state = await fixture.GetStreamStateAsync("ORDERS_MIRROR");
        state.Messages.ShouldBe((ulong)1);
    }
}
