using NATS.Server.JetStream.Storage;

namespace NATS.Server.Tests;

public class FileStoreTests
{
    [Fact]
    public async Task FileStore_recovers_messages_after_restart()
    {
        var dir = Directory.CreateTempSubdirectory();

        await using (var store = new FileStore(new FileStoreOptions { Directory = dir.FullName }))
            await store.AppendAsync("foo", "payload"u8.ToArray(), default);

        await using var recovered = new FileStore(new FileStoreOptions { Directory = dir.FullName });
        (await recovered.GetStateAsync(default)).Messages.ShouldBe((ulong)1);
    }
}
