public async Task Add()
        {
            // given
            string title = _fixture.Create <string>();
            int    id    = (int)DateTime.Now.Ticks;
            var    page  = new SearchablePage()
            {
                PageId = id, Title = title
            };

            // when
            bool success = await _searchAdapter.Add(page);

            // then
            success.ShouldBeTrue();

            long count = _classFixture.ElasticClient.Count <SearchablePage>().Count;

            count.ShouldBe(11);
            var results = await _searchAdapter.Find($"{title}");

            var firstResult = results.FirstOrDefault();

            firstResult.ShouldNotBeNull();
            firstResult.Title.ShouldBe(title);
            firstResult.Id.ShouldBe(page.Id);
        }
        public async Task <bool> Update(SearchablePage page)
        {
            await EnsureIndexesExist();

            var response = await _elasticClient.IndexAsync(page, idx => idx.Index(PagesIndexName));

            return(response.Result == Result.Updated);
        }
        public async Task <bool> Add(SearchablePage page)
        {
            using (var session = _documentStore.LightweightSession())
            {
                session.Store(page);

                await session.SaveChangesAsync();

                return(true);
            }
        }
        public async Task Add()
        {
            // given
            string title = _fixture.Create <string>();
            int    id    = (int)DateTime.Now.Ticks;
            var    page  = new SearchablePage()
            {
                PageId = id, Title = title
            };

            // when
            bool success = await _searchAdapter.Add(page);

            // then
            success.ShouldBeTrue();
        }
        public async Task <bool> Add(SearchablePage page)
        {
            var response = await _elasticClient.IndexAsync(page, idx => idx.Index(PagesIndexName));

            return(response.Result == Result.Created);
        }