using NATS.Server.JetStream.Storage;

namespace NATS.Server.Tests;

public class JetStreamStoreIndexTests
{
    [Fact]
    public async Task Store_can_get_last_message_by_subject()
    {
        var store = new MemStore();
        await store.AppendAsync("orders.created", "1"u8.ToArray(), default);
        await store.AppendAsync("orders.updated", "2"u8.ToArray(), default);
        await store.AppendAsync("orders.created", "3"u8.ToArray(), default);

        var last = await store.LoadLastBySubjectAsync("orders.created", default);
        last!.Payload.Span.SequenceEqual("3"u8).ShouldBeTrue();
    }
}
