public void StringValueShouldBeTrimmed() { // arrange using (var db = new Db { new ItemBuilder().WithDisplayName(" test ").Build() }) { var item = db.GetItem("/sitecore/content/source"); var indexable = new SitecoreIndexableItem(item); var context = new Mock <IProviderUpdateContext>(); var index = new IndexBuilder() .WithSimpleFieldTypeMap("text") .Build(); context.Setup(t => t.Index).Returns(index); var sut = new AlgoliaDocumentBuilder(indexable, context.Object); var field = new SitecoreItemDataField(item.Fields[ItemBuilder.DispalyNameFieldName]); //Act sut.AddField(field); //Assert JObject doc = sut.Document; Assert.AreEqual("test", (string)doc["display name"]); } }
public void AddSimpleDoubleFieldTest() { // arrange using (var db = new Db { new ItemBuilder().WithPrice(123.456).Build() }) { var item = db.GetItem("/sitecore/content/source"); var indexable = new SitecoreIndexableItem(item); var context = new Mock <IProviderUpdateContext>(); var index = new IndexBuilder() .WithSimpleFieldTypeMap("number") .WithNumericFieldReader("number") .Build(); context.Setup(t => t.Index).Returns(index); var sut = new AlgoliaDocumentBuilder(indexable, context.Object); var field = new SitecoreItemDataField(item.Fields[ItemBuilder.PriceFieldName]); //Act sut.AddField(field); //Assert JObject doc = sut.Document; Assert.AreEqual(123.456, (double)doc["price"]); Assert.AreEqual(JTokenType.Float, doc["price"].Type); } }
public void StandardValueTest(string defaultValue) { var templateId = new TemplateID(ID.NewID); using (var db = new Db { new DbTemplate("Sample", templateId) { { "Title", defaultValue } } }) { var contentRoot = db.GetItem(ItemIDs.ContentRoot); var item = contentRoot.Add("Home", templateId); var indexable = new SitecoreIndexableItem(item); var context = new Mock <IProviderUpdateContext>(); var index = new IndexBuilder() .WithSimpleFieldTypeMap("text") .Build(); context.Setup(t => t.Index).Returns(index); var sut = new AlgoliaDocumentBuilder(indexable, context.Object); var field = new SitecoreItemDataField(item.Fields["Title"]); //Act sut.AddField(field); //Assert JObject doc = sut.Document; Assert.AreEqual("Home", (string)doc["title"]); } }
public void AddDateFieldTest() { // arrange using (var db = new Db { new ItemBuilder().WithHardcodedDate().Build() }) { var item = db.GetItem("/sitecore/content/source"); var indexable = new SitecoreIndexableItem(item); var context = new Mock <IProviderUpdateContext>(); var index = new IndexBuilder() .WithSimpleFieldTypeMap("datetime") .WithDateFieldReader("datetime") .Build(); context.Setup(t => t.Index).Returns(index); var sut = new AlgoliaDocumentBuilder(indexable, context.Object); var field = new SitecoreItemDataField(item.Fields[ItemBuilder.DateFieldName]); //Act sut.AddField(field); //Assert JObject doc = sut.Document; Assert.AreEqual(1418787000, (int)doc["date"]); Assert.AreEqual(JTokenType.Integer, doc["date"].Type); } }
public void NoReferenceShouldNotFail() { //Arrange using (var db = new Db { new ItemBuilder().WithReference("droplink").Build() }) { var item = db.GetItem("/sitecore/content/source"); var field = item.Fields[ItemBuilder.ReferenceFieldName]; var args = new SitecoreItemDataField(field); var sut = new ReferenceFieldReader(); //Act var actual = sut.GetFieldValue(args); //Assert actual.Should().BeNull(); } }
public void WrongTypeShouldReturnNull(string fieldType) { //Arrange using (var db = new Db { new ItemBuilder().WithReference(fieldType).AddSubItem().Build() }) { var item = db.GetItem("/sitecore/content/source"); var field = item.Fields[ItemBuilder.ReferenceFieldName]; var args = new SitecoreItemDataField(field); var sut = new ReferenceFieldReader(); //Act var actual = sut.GetFieldValue(args); //Assert actual.Should().BeNull(); } }
public void ShouldReturnReferenceName(string fieldType) { //Arrange using (var db = new Db { new ItemBuilder().WithReference(fieldType).AddSubItem().Build() }) { var item = db.GetItem("/sitecore/content/source"); var field = item.Fields[ItemBuilder.ReferenceFieldName]; var args = new SitecoreItemDataField(field); var sut = new ReferenceFieldReader(); //Act var actual = sut.GetFieldValue(args); //Assert actual.Should().BeOfType <string>(); var result = actual as string; result.Should().Be("subitem"); } }
public void GetFieldValueTests() { //Arrange using (var db = new Db { new ItemBuilder().WithGeoLocation("34.0385737,-84.56821339999999,").Build() }) { var item = db.GetItem("/sitecore/content/source"); var field = item.Fields[ItemBuilder.LocationFieldName]; var args = new SitecoreItemDataField(field); var sut = new GeoLocationFieldReader(); //Act var actual = sut.GetFieldValue(args); //Assert var latLong = actual as JObject; Assert.AreEqual(34.0385737, (double)latLong["_geoloc"]["lat"]); Assert.AreEqual(-84.56821339999999, (double)latLong["_geoloc"]["lng"]); } }