public void ScrollPage_MultipleDocsExistOnSingleScrollPage_ReturnsDocs(
            EsDocument doc1,
            EsDocument doc2,
            EsDocument doc3,
            IndexWorker indexWorker,
            EsTestIndexClient testClient,
            ScrollWorker scrollWorker)
        {
            indexWorker.Index(new [] { doc1, doc2, doc3 });

            using (testClient.ForTestAssertions())
            {
                var actuals = scrollWorker.ScrollPage();

                actuals.Should().NotBeNull();
                actuals.Should().HaveCount(3);
            }
        }
        public void ScrollPage_MultipleDocsExistOnMultipleScrollPages_ReturnsDocs(
            IFixture fixture,
            IndexWorker indexWorker,
            EsTestIndexClient testClient,
            ScrollWorker scrollWorker)
        {
            var testDocs = fixture.CreateMany <EsDocument>(scrollWorker.Client.Config.BatchSize * 2);

            indexWorker.Index(testDocs);

            using (testClient.ForTestAssertions())
            {
                var actuals = scrollWorker.ScrollPage();             // first page
                actuals = actuals.Concat(scrollWorker.ScrollPage()); // second page
                scrollWorker.ScrollPage().Should().BeEmpty();        // third page is empty

                actuals.Should().NotBeNull();
                actuals.Should().HaveSameCount(testDocs);
            }
        }