public void Mapping_IfOneFieldDoesNotExistInItem() { var sitecoreItem = SetupItemWithTwoFields(); sitecoreItem .Setup(x => x.GetField(It.IsAny <Guid>())) .Returns((Guid id) => { switch (id.ToIDString()) { case IDsForModelWithTwoFields.TextValueFieldId: { return(FieldMockHelper.MockSitecoreField( _textValue, _source)); } default: { return(null); } } }); var result = sitecoreItem.Object.As <FakeModelWithTwoFields>(); Assert.IsNotNull(result); Assert.AreEqual(_textValue, result.TextValue); Assert.AreEqual(default(int), result.IntegerValue); }
public void Mapping_ValidateTemplateWithTwoChildrenLists_SubItemsOfOnlyOneType() { var children = new List <SitecoreItem> { CreateItemWithTwoFields(), CreateItemWithTwoFields() }; var sitecoreItem = new Mock <SitecoreItem>(); sitecoreItem .Setup(x => x.TemplateId) .Returns(new Guid(IDsForModelWithTwoChildrenLists.TemplateId)); sitecoreItem .Setup(x => x.GetField(It.IsAny <Guid>())) .Returns((Guid id) => { switch (id.ToIDString()) { case IDsForModelWithTwoChildrenLists.TextValueId: { return(FieldMockHelper.MockSitecoreField(_textValue, "")); } default: { return(null); } } }); sitecoreItem .Setup(x => x.GetChildren()) .Returns(() => { return(children.ToList <ISitecoreItem>()); }); var result = sitecoreItem.Object.As <FakeModelWithTwoChildrenLists>(); Assert.IsNotNull(result); Assert.AreEqual(_textValue, result.TextValue); Assert.IsNotNull(result.ChildrenWithTwoFields); Assert.AreEqual(2, result.ChildrenWithTwoFields.Count()); foreach (var child in result.ChildrenWithTwoFields) { ValidateObjectWithTwoFields(child); } Assert.IsNotNull(result.ChildrenWithAllFields); Assert.AreEqual(0, result.ChildrenWithAllFields.Count()); }
public void Mapping_ValidateModelChild() { #region Setup SitecoreItem var sitecoreItem = new Mock <SitecoreItem>(); sitecoreItem .Setup(x => x.TemplateId) .Returns(new Guid(IDsForModelChild.TemplateId)); sitecoreItem .Setup(x => x.GetField(It.IsAny <Guid>())) .Returns((Guid id) => { switch (id.ToIDString()) { case IDsForModelWithTwoFields.TextValueFieldId: { return(FieldMockHelper.MockSitecoreField( _textValue, _source)); } case IDsForModelWithTwoFields.IntegerValueFieldId: { return(FieldMockHelper.MockSitecoreField( _integerValue.ToString(), _source)); } case IDsForModelChild.BooleanValueFieldId: { return(FieldMockHelper.MockSitecoreField( _booleanValue.ToString(), _source)); } default: { return(null); } } }); #endregion var result = sitecoreItem.Object.As <FakeModelChild>(); Assert.IsNotNull(result); Assert.AreEqual(_textValue, result.TextValue); Assert.AreEqual(_integerValue, result.IntegerValue); Assert.AreEqual(_booleanValue, result.BooleanValue); }
public void Mapping_IfModelDoesNotHaveFieldAttributeForAnyProperty() { var sitecoreItem = new Mock <SitecoreItem>(); sitecoreItem .Setup(x => x.TemplateId) .Returns(new Guid(IDsForModelWithoutFieldAttribute.TemplateId)); sitecoreItem .Setup(x => x.GetField(It.IsAny <Guid>())) .Returns((Guid id) => { switch (id.ToIDString()) { case IDsForModelWithoutFieldAttribute.TextValueFieldId: { return(FieldMockHelper.MockSitecoreField( _textValue, _source)); } case IDsForModelWithoutFieldAttribute.IntegerValueFieldId: { return(FieldMockHelper.MockSitecoreField( _integerValue.ToString(), _source)); } default: { return(null); } } }); var result = sitecoreItem.Object.As <FakeModelWithoutFieldAttribute>(); Assert.IsNotNull(result); Assert.AreEqual(_textValue, result.TextValue); Assert.AreEqual(default(int), result.IntegerValue); }
private Mock <SitecoreItem> SetupItemWithTwoFields() { var sitecoreItem = new Mock <SitecoreItem>(); sitecoreItem .Setup(x => x.TemplateId) .Returns(new Guid(IDsForModelWithTwoFields.TemplateId)); sitecoreItem .Setup(x => x.GetField(It.IsAny <Guid>())) .Returns((Guid id) => { switch (id.ToIDString()) { case IDsForModelWithTwoFields.TextValueFieldId: { return(FieldMockHelper.MockSitecoreField( _textValue, _source)); } case IDsForModelWithTwoFields.IntegerValueFieldId: { return(FieldMockHelper.MockSitecoreField( _integerValue.ToString(), _source)); } default: { return(null); } } }); return(sitecoreItem); }
private Mock <SitecoreItem> SetupItemWithAllFieldTypes() { var targetItem = new Mock <SitecoreItem>(); targetItem .Setup(x => x.Name) .Returns(_internalLinkTargetItemName); var internalLinkTargetItem = targetItem.Object; var sitecoreItem = new Mock <SitecoreItem>(); sitecoreItem .Setup(x => x.Id) .Returns(_id); sitecoreItem .Setup(x => x.TemplateId) .Returns(new Guid(IDsForModelWithAllFieldTypes.TemplateId)); sitecoreItem .Setup(x => x.GetField(It.IsAny <Guid>())) .Returns((Guid id) => { switch (id.ToIDString()) { case IDsForModelWithAllFieldTypes.TextValueFieldId: { return(FieldMockHelper.MockSitecoreField( _textValue, _source)); } case IDsForModelWithAllFieldTypes.IntegerValueFieldId: { return(FieldMockHelper.MockSitecoreField( _integerValue.ToString(), _source)); } case IDsForModelWithAllFieldTypes.BooleanValueFieldId: { return(FieldMockHelper.MockSitecoreField( _booleanValue ? "1" : "0", _source)); } case IDsForModelWithAllFieldTypes.DoubleValueFieldId: { return(FieldMockHelper.MockSitecoreField( _doubleValue.ToString(), _source)); } case IDsForModelWithAllFieldTypes.DateTimeValueFieldId: { return(FieldMockHelper.MockSitecoreField( _dateTimeValue.ToString(), _source)); } case IDsForModelWithAllFieldTypes.HtmlStringValueFieldId: { return(FieldMockHelper.MockSitecoreField( _htmlStringValue.ToString(), _source, _htmlStringValue)); } case IDsForModelWithAllFieldTypes.TextFieldId: { var textField = CustomFieldMockHelper.MockTextField( _textFieldText, _textFieldHtmlString); return(FieldMockHelper.MockSitecoreField( _textFieldText, _source, textField)); } case IDsForModelWithAllFieldTypes.LinkFieldId: { var linkField = CustomFieldMockHelper.MockLinkField( _linkFieldText, _linkFieldFriendlyUrl, _linkFieldValue, _linkFieldHtmlString); return(FieldMockHelper.MockSitecoreField( _linkFieldValue, _source, linkField)); } case IDsForModelWithAllFieldTypes.CheckboxFieldId: { var checkboxField = CustomFieldMockHelper.MockCheckboxField( _checkboxFieldIsChecked, _checkboxFieldValue, _checkboxFieldHtmlString); return(FieldMockHelper.MockSitecoreField( _checkboxFieldValue, _source, checkboxField)); } case IDsForModelWithAllFieldTypes.ImageFieldId: { var imageField = CustomFieldMockHelper.MockImageField( _imageFieldUrl, _imageFieldSrc, _imageFieldWidth, _imageFieldAlt, _imageFieldValue, _imageFieldHtmlString); return(FieldMockHelper.MockSitecoreField( _imageFieldValue, _source, imageField)); } case IDsForModelWithAllFieldTypes.InternalLinkFieldId: { var internalLinkField = CustomFieldMockHelper.MockInternalLinkField( _internalLinkPath, _internalLinkItemUrl, internalLinkTargetItem, _internalLinkValue, _internalLinkHtmlString); return(FieldMockHelper.MockSitecoreField( _imageFieldValue, _source, internalLinkField)); } default: { return(null); } } }); return(sitecoreItem); }
public void Mapping_ValidateModelChildrenFromDifferentAssemblies() { var sitecoreItemModelChild = new Mock <SitecoreItem>(); sitecoreItemModelChild .Setup(x => x.TemplateId) .Returns(new Guid(IDsForModelChild.TemplateId)); sitecoreItemModelChild .Setup(x => x.GetField(It.IsAny <Guid>())) .Returns((Guid id) => { switch (id.ToIDString()) { case IDsForModelWithTwoFields.TextValueFieldId: { return(FieldMockHelper.MockSitecoreField( _textValue, _source)); } case IDsForModelWithTwoFields.IntegerValueFieldId: { return(FieldMockHelper.MockSitecoreField( _integerValue.ToString(), _source)); } case IDsForModelChild.BooleanValueFieldId: { return(FieldMockHelper.MockSitecoreField( _booleanValue.ToString(), _source)); } default: { return(null); } } }); var sitecoreItemModelChild3 = new Mock <SitecoreItem>(); sitecoreItemModelChild3 .Setup(x => x.TemplateId) .Returns(new Guid(IDsForModelChild3.TemplateId)); sitecoreItemModelChild3 .Setup(x => x.GetField(It.IsAny <Guid>())) .Returns((Guid id) => { switch (id.ToIDString()) { case IDsForModelWithTwoFields.TextValueFieldId: { return(FieldMockHelper.MockSitecoreField( _textValue, _source)); } case IDsForModelWithTwoFields.IntegerValueFieldId: { return(FieldMockHelper.MockSitecoreField( _integerValue.ToString(), _source)); } case IDsForModelChild3.BooleanValueFieldId: { return(FieldMockHelper.MockSitecoreField( _booleanValue.ToString(), _source)); } default: { return(null); } } }); var sitecoreItemModelChildAnotherAssembly = new Mock <SitecoreItem>(); sitecoreItemModelChildAnotherAssembly .Setup(x => x.TemplateId) .Returns(new Guid(IDsForModelChildAnotherAssembly.TemplateId)); sitecoreItemModelChildAnotherAssembly .Setup(x => x.GetField(It.IsAny <Guid>())) .Returns((Guid id) => { switch (id.ToIDString()) { case IDsForModelWithTwoFields.TextValueFieldId: { return(FieldMockHelper.MockSitecoreField( _textValue, _source)); } case IDsForModelWithTwoFields.IntegerValueFieldId: { return(FieldMockHelper.MockSitecoreField( _integerValue.ToString(), _source)); } case IDsForModelChildAnotherAssembly.BooleanValueFieldId: { return(FieldMockHelper.MockSitecoreField( _booleanValue.ToString(), _source)); } default: { return(null); } } }); var children = new List <SitecoreItem> { CreateItemWithTwoFields(), CreateItemWithAllFieldTypes(), sitecoreItemModelChild.Object, sitecoreItemModelChildAnotherAssembly.Object, sitecoreItemModelChild3.Object }; var sitecoreItem = new Mock <SitecoreItem>(); sitecoreItem .Setup(x => x.TemplateId) .Returns(new Guid(IDsForModelWithChildrenFromDiffAssemblies.TemplateId)); sitecoreItem .Setup(x => x.GetField(It.IsAny <Guid>())) .Returns((Guid id) => { switch (id.ToIDString()) { case IDsForModelWithChildrenFromDiffAssemblies.TextValueFieldId: { return(FieldMockHelper.MockSitecoreField( _textValue, _source)); } default: { return(null); } } }); sitecoreItem .Setup(x => x.GetChildren()) .Returns(() => { return(children.ToList <ISitecoreItem>()); }); var result = sitecoreItem.Object.As <FakeModelWithChildrenFromDiffAssemblies>(); Assert.IsNotNull(result); Assert.AreEqual(_textValue, result.TextValue); Assert.IsNotNull(result.Children); Assert.AreEqual(3, result.Children.Count()); Assert.IsTrue(result.Children.Any(x => x.GetType() == typeof(FakeModelChild))); Assert.IsTrue(result.Children.Any(x => x.GetType() == typeof(FakeModelChild3))); Assert.IsTrue(result.Children.Any(x => x.GetType() == typeof(FakeModelWithTwoFields))); }
public void Mapping_ValidateModelWithNamedAttributeParameters() { #region Setup SitecoreItem var textField = FieldMockHelper.MockSitecoreField(_textValue, _source); var integerField = FieldMockHelper.MockSitecoreField(_integerValue.ToString(), _source); var sitecoreItem = new Mock <SitecoreItem>(); sitecoreItem .Setup(x => x.TemplateId) .Returns(new Guid(IDsForModelWithNamedAttributeParameters.TemplateId)); sitecoreItem .Setup(x => x.TemplateName) .Returns(IDsForModelWithNamedAttributeParameters.TemplateName); sitecoreItem .Setup(x => x.GetField(It.IsAny <Guid>())) .Returns((Guid id) => { switch (id.ToIDString()) { case IDsForModelWithNamedAttributeParameters.TextValueFieldId: { return(textField); } case IDsForModelWithNamedAttributeParameters.IntegerValueFieldId: { return(integerField); } default: { return(null); } } }); sitecoreItem .Setup(x => x.GetField(It.IsAny <string>())) .Returns((string fieldName) => { switch (fieldName) { case IDsForModelWithNamedAttributeParameters.TextValueFieldName: { return(textField); } case IDsForModelWithNamedAttributeParameters.IntegerValueFieldName: { return(integerField); } default: { return(null); } } }); sitecoreItem .Setup(x => x.GetField(It.IsAny <int>())) .Returns((int fieldIndex) => { switch (fieldIndex) { case IDsForModelWithNamedAttributeParameters.TextValueFieldIndex: { return(textField); } case IDsForModelWithNamedAttributeParameters.IntegerValueFieldIndex: { return(integerField); } default: { return(null); } } }); #endregion var result = sitecoreItem.Object.As <FakeModelWithNamedAttributeParameters>(); Assert.IsNotNull(result); Assert.AreEqual(_textValue, result.TextValue); Assert.AreEqual(_integerValue, result.IntegerValue); }