using NATS.Server.Raft; namespace NATS.Server.Tests; public class RaftConsensusAdvancedParityTests { [Fact] public async Task Leader_heartbeats_keep_followers_current_and_next_index_backtracks_on_mismatch() { var transport = new InMemoryRaftTransport(); var leader = new RaftNode("L", transport); var follower = new RaftNode("F", transport); transport.Register(leader); transport.Register(follower); await transport.AppendHeartbeatAsync("L", ["F"], term: 2, default); follower.Term.ShouldBe(2); RaftReplicator.BacktrackNextIndex(5).ShouldBe(4); RaftReplicator.BacktrackNextIndex(1).ShouldBe(1); } }