public async Task GetAllWithSearchAfterPagingWithCustomSortAsync() { var identity1 = await _identityRepository.AddAsync(IdentityGenerator.Default, o => o.ImmediateConsistency()); Assert.NotNull(identity1?.Id); var identity2 = await _identityRepository.AddAsync(IdentityGenerator.Generate(), o => o.ImmediateConsistency()); Assert.NotNull(identity2?.Id); var results = await _identityRepository.FindAsync(q => q.SortDescending(d => d.Id), o => o.PageLimit(1).SearchAfterPaging()); Assert.NotNull(results); Assert.Equal(1, results.Documents.Count); Assert.Equal(1, results.Page); Assert.True(results.HasMore); Assert.Equal(identity2.Id, results.Documents.First().Id); Assert.Equal(2, results.Total); Assert.True(await results.NextPageAsync()); Assert.Equal(1, results.Documents.Count); Assert.Equal(2, results.Page); Assert.Equal(2, results.Total); Assert.Equal(identity1.Id, results.Documents.First().Id); Assert.False(results.HasMore); var secondDoc = results.Documents.First(); Assert.False(await results.NextPageAsync()); Assert.Equal(0, results.Documents.Count); Assert.Equal(2, results.Page); Assert.False(results.HasMore); Assert.Equal(2, results.Total); // var secondPageResults = await _identityRepository.GetAllAsync(o => o.PageNumber(2).PageLimit(1)); // Assert.Equal(secondDoc, secondPageResults.Documents.First()); }