public async Task ShouldJoinMapIndexes()
{
_store.RegisterIndexes<PersonIndexProvider>();
_store.RegisterIndexes<PersonAgeIndexProvider>();
using (var session = _store.CreateSession())
{
var bill = new Person
{
Firstname = "Bill",
Age = 1
};
var steve = new Person
{
Firstname = "Steve",
Age = 2
};
var paul = new Person
{
Firstname = "Paul",
Age = 2
};
session.Save(bill);
session.Save(steve);
session.Save(paul);
}
using (var session = _store.CreateSession())
{
Assert.Equal(3, await session.QueryIndexAsync<PersonByName>().Count());
Assert.Equal(2, await session.QueryIndexAsync<PersonByAge>(x => x.Age == 2).Count());
Assert.Equal(1, await session.QueryAsync().For<Person>()
.With<PersonByName>(x => x.Name == "Steve")
.With<PersonByAge>(x => x.Age == 2)
.Count());
}
}