namespace NATS.Server.Tests;

public class RaftSnapshotCatchupTests
{
    [Fact]
    public async Task Lagging_follower_catches_up_via_snapshot()
    {
        var cluster = RaftTestCluster.Create(3);
        await cluster.GenerateCommittedEntriesAsync(500);

        await cluster.RestartLaggingFollowerAsync();
        await cluster.WaitForFollowerCatchupAsync();

        cluster.LaggingFollower.AppliedIndex.ShouldBe(cluster.Leader.AppliedIndex);
    }
}
