public async Task GetQuestionsDateFilter_JustInvoked_ShouldInvokeAppropriateDaoMethod()
        {
            // Arrange
            _questionDaoMock.Setup(m =>
                                   m.FindWithProjectionAndFilterAsync(It.IsAny <ProjectionDefinition <Question, SearchableQuestion> >(),
                                                                      It.IsAny <FilterDefinition <Question> >()))
            .ReturnsAsync(new List <SearchableQuestion>());

            // Act
            await _service.GetQuestionsWithAnswersAsync(DateTime.UtcNow);

            // Assert
            _questionDaoMock.Verify(m => m.FindWithProjectionAndFilterAsync(It.IsAny <ProjectionDefinition <Question, SearchableQuestion> >(),
                                                                            It.IsAny <FilterDefinition <Question> >()), Times.Once);
            _questionDaoMock.VerifyNoOtherCalls();
        }
        private async Task IndexQuestions(DateTime startDate)
        {
            var questions = await _searchableTextService.GetQuestionsWithAnswersAsync(startDate);

            if (questions.Count == 0)
            {
                _logger.LogInformation("{JobName} | There are no new questions to index", nameof(MongoIndexingForElasticJob));
                return;
            }

            var request = new QuestionsElasticUpsertRequest
            {
                Entities = questions.ToList()
            };

            await _elasticsearchClient.UpsertManyAsync(request);
        }