private Index GetIndexDefenition(string indexName) { return(new Index { Name = indexName, Fields = FieldBuilder.BuildForType <T>(), Suggesters = new List <Suggester> { new Suggester { Name = Constants.DefaultSuggesterName, SourceFields = suggesterBuilder.BuildForType <T>(), } }, ScoringProfiles = new List <ScoringProfile> { new ScoringProfile { Name = Constants.SearchScoringProfileName, TextWeights = new TextWeights { Weights = weightingBuilder.BuildForType <T>() } } } }); }
public async Task EnsureIndexTestAsync() { //Arrange or configure A.CallTo(() => fakeSearchClient.Indexes).Returns(fakeIndexes); var azSearchService = new AzSearchService <JobProfileIndex>(fakeSearchClient, fakeIndexClient, fakeSuggesterBuilder, policy, fakeWeightingBuilder); await azSearchService.EnsureIndexAsync("test"); A.CallTo(() => fakeSuggesterBuilder.BuildForType <JobProfileIndex>()).MustHaveHappened(); A.CallTo(() => fakeWeightingBuilder.BuildForType <JobProfileIndex>()).MustHaveHappened(); A.CallTo(() => fakeSearchClient.Indexes).MustHaveHappened(); A.CallTo(() => fakeIndexes.CreateOrUpdateWithHttpMessagesAsync(A <Index> .That.Matches(i => i.Name.Equals("test") && i.Suggesters.Count == 1 && i.Suggesters.First().Name == Constants.DefaultSuggesterName), A <bool?> ._, A <SearchRequestOptions> ._, A <AccessCondition> ._, A <Dictionary <string, List <string> > > ._, A <CancellationToken> ._)).MustHaveHappened(); }