public async Task smoke_test_able_to_fetch_a_page_of_events()
{
var list = new List<MembersJoined>();
for (int i = 0; i < 500; i++)
{
list.Add(new MembersJoined {Day = i, Location = Guid.NewGuid().ToString(), Members = new string[] {Guid.NewGuid().ToString()}});
}
using (var session = theStore.LightweightSession())
{
session.Events.Append(Guid.NewGuid(), list.ToArray());
await session.SaveChangesAsync().ConfigureAwait(false);
}
var options = new AsyncOptions();
var settings = new DaemonSettings
{
LeadingEdgeBuffer = 0.Seconds()
};
using (var data = new Fetcher(theStore, settings, options, Substitute.For<IDaemonLogger>(), new StubErrorHandler(), new Type[] {typeof(MembersJoined)}))
{
var page = await data.FetchNextPage(0).ConfigureAwait(false);
page.From.ShouldBe(0);
page.To.ShouldBe(options.PageSize);
page.Streams.SelectMany(x => x.Events).Count().ShouldBe(100);
}
}