public async Task ShouldUpdateAutoflushedIndex()
{
// When auto-flush is called on an entity
// its indexes should be updated on the actual commit
_store.RegisterIndexes<PersonIndexProvider>();
using (var session = _store.CreateSession())
{
var bill = new Person
{
Firstname = "Bill",
Lastname = "Gates"
};
session.Save(bill);
// This query triggers an auto-flush
Assert.Equal(1, await session.QueryAsync<Person, PersonByName>().Count());
bill.Firstname = "Bill2";
session.Save(bill);
Assert.Equal(1, await session.QueryAsync<Person, PersonByName>().Where(x => x.Name == "Bill2").Count());
bill.Firstname = "Bill3";
session.Save(bill);
Assert.Equal(1, await session.QueryIndexAsync<PersonByName>().Count());
}
using (var session = _store.CreateSession())
{
Assert.Equal(1, await session.QueryIndexAsync<PersonByName>().Count());
Assert.Equal(1, await session.QueryIndexAsync<PersonByName>().Where(x => x.Name == "Bill3").Count());
}
}