public void CrawlerShouldIncludeTemplates() { // arrange using (var db = new Db { _source }) { var item = db.GetItem("/sitecore/content/source"); item.Should().NotBeNull(); var repository = new Mock <IAlgoliaRepository>(); repository.Setup(t => t.ClearIndexAsync()).ReturnsAsync(JObject.Parse(@"{""taskID"": 722}")); var sut = new AlgoliaBaseIndex("test", repository.Object); sut.PropertyStore = new NullPropertyStore(); var configuration = new AlgoliaIndexConfiguration(); configuration.DocumentOptions = new DocumentBuilderOptions(); configuration.IncludeTemplate(TestData.TestTemplateId.ToString()); sut.Configuration = configuration; var crawler = new SitecoreItemCrawler(); crawler.Database = "master"; crawler.Root = "/sitecore/content"; sut.Crawlers.Add(crawler); crawler.Initialize(sut); sut.Initialize(); //Act sut.Rebuild(); //Assert repository.Verify(t => t.SaveObjectsAsync(It.Is <IEnumerable <JObject> >(o => o.Any())), Times.Once); } }
public void DeleteTest() { // arrange using (var db = new Db { _source }) { var item = db.GetItem("/sitecore/content/source"); item.Should().NotBeNull(); string id = string.Empty; var repository = new Mock <IAlgoliaRepository>(); repository.Setup(t => t.DeleteAllObjByTag(It.IsAny <string>())) .ReturnsAsync(1) .Callback <string>(s => id = s); var sut = new AlgoliaBaseIndex("test", repository.Object); sut.PropertyStore = new NullPropertyStore(); var configuration = new AlgoliaIndexConfiguration(); configuration.DocumentOptions = new DocumentBuilderOptions(); sut.Configuration = configuration; var crawler = new SitecoreItemCrawler(); crawler.Database = "master"; crawler.Root = "/sitecore/content"; sut.Crawlers.Add(crawler); crawler.Initialize(sut); sut.Initialize(); //Act sut.Delete(new IndexableId <ID>(item.ID)); //Assert repository.Verify(t => t.DeleteAllObjByTag(It.IsAny <string>()), Times.Once); id.Should().Be("id_" + item.ID); repository.Verify(t => t.DeleteAllObjByTag("id_" + item.ID.ToString()), Times.Once); } }