public void When_Value_Is_Set_GetRelatedEntities_Return_List_With_Related_Entities() { // arrange var contentUdi = @"[[ { ""key"":""69d6cf63-f0e5-463d-9441-e1b4ad6fb25e"", ""name"":""Item 1"", ""ncContentTypeAlias"":""nestedItem"", ""text"":""<p>asdfasfa as <a data-udi=\""umb://document/3cce2545e3ac44ecbf55a52cc5965db3\"" href=\""/{localLink:umb://document/3cce2545e3ac44ecbf55a52cc5965db3}\"" title=\""About Us\"">asd </a>asd as </p>"", ""callToAction"":""[{\""name\"":\""Products\"",\""udi\"":\""umb://document/ec4aafcc0c254f25a8fe705bfae1d324\""}]"" }, { ""key"":""ac61e2d2-d8e4-418d-aa91-99ead3df3f8d"", ""name"":""Item 2"", ""ncContentTypeAlias"":""nestedItem"", ""text"":""<p>asdfasdf a as </p>"", ""callToAction"":""[{\""name\"":\""Umbraco Campari Meeting Room\"",\""udi\"":\""umb://media/662af6ca411a4c93a6c722c4845698e7\""}]"" } ]]"; var parser = new NestedContentParser(); // act var result = parser.GetRelatedEntities(contentUdi).ToList(); // assert Assert.IsNotNull(result); Assert.That(result.Count == 3); Assert.That(result.Count(x => x.RelationType == RelationTypes.DocumentToDocument) == 2); Assert.That(result.Count(x => x.RelationType == RelationTypes.DocumentToMedia) == 1); Assert.That(result.Exists(x => x.RelatedEntityUdi.ToString() == "umb://document/3cce2545e3ac44ecbf55a52cc5965db3" && x.RelationType == RelationTypes.DocumentToDocument)); Assert.That(result.Exists(x => x.RelatedEntityUdi.ToString() == "umb://document/ec4aafcc0c254f25a8fe705bfae1d324" && x.RelationType == RelationTypes.DocumentToDocument)); Assert.That(result.Exists(x => x.RelatedEntityUdi.ToString() == "umb://media/662af6ca411a4c93a6c722c4845698e7" && x.RelationType == RelationTypes.DocumentToMedia)); }
public void When_EditorAlias_Is_Correct_IsParserFor_Should_Return_True() { // arrange var parser = new NestedContentParser(); // act var result = parser.IsParserFor(Constants.PropertyEditors.Aliases.NestedContent); // assert Assert.IsTrue(result); }
public void When_Value_Is_Not_Set_GetRelatedEntities_Return_Empty_List() { // arrange var parser = new NestedContentParser(); // act var result = parser.GetRelatedEntities(null).ToList(); // assert Assert.IsNotNull(result); Assert.That(result.Count == 0); }
public void TestIsParserForInValidDataType() { // arrange var dataTypeDefinition = new DataTypeDefinition("foo"); var parser = new NestedContentParser(); // act var result = parser.IsParserFor(dataTypeDefinition); // verify Assert.IsFalse(result); }
public void TestIsParserForValidDataType() { // arrange var dataTypeDefinition = new DataTypeDefinition("Our.Umbraco.NestedContent"); var parser = new NestedContentParser(); // act var result = parser.IsParserFor(dataTypeDefinition); // verify Assert.IsTrue(result); }
public void TestGetLinkedEntitiesWithEmptyValue() { // arrange var parser = new NestedContentParser(); object propValue = null; // act var result = parser.GetLinkedEntities(propValue); // verify Assert.IsNotNull(result); var entities = result.ToList(); Assert.AreEqual(0, entities.Count()); }
public void TestGetLinkedEntitiesWithValue() { // arrange var contentTypeServiceMock = new Mock <IContentTypeService>(); var dataTypeServiceMock = new Mock <IDataTypeService>(); var contentPickerDataTypeDefinition = new DataTypeDefinition(global::Umbraco.Core.Constants.PropertyEditors.ContentPickerAlias) { Id = 1 }; var mediaPickerDataTypeDefinition = new DataTypeDefinition(global::Umbraco.Core.Constants.PropertyEditors.MediaPickerAlias) { Id = 2 }; var ncContentPickerContentType = new Mock <IContentType>(); ncContentPickerContentType.SetupGet(x => x.CompositionPropertyTypes) .Returns(new List <PropertyType> { new PropertyType(contentPickerDataTypeDefinition, "picker") }); var ncMediaPickerContentType = new Mock <IContentType>(); ncMediaPickerContentType.SetupGet(x => x.CompositionPropertyTypes) .Returns(new List <PropertyType> { new PropertyType(mediaPickerDataTypeDefinition, "picker") }); contentTypeServiceMock.Setup(x => x.GetContentType("NCContentPicker")).Returns(ncContentPickerContentType.Object); contentTypeServiceMock.Setup(x => x.GetContentType("NCMediaPicker")).Returns(ncMediaPickerContentType.Object); dataTypeServiceMock.Setup(x => x.GetDataTypeDefinitionById(contentPickerDataTypeDefinition.Id)) .Returns(contentPickerDataTypeDefinition); dataTypeServiceMock.Setup(x => x.GetDataTypeDefinitionById(mediaPickerDataTypeDefinition.Id)) .Returns(mediaPickerDataTypeDefinition); var parser = new NestedContentParser(contentTypeServiceMock.Object, dataTypeServiceMock.Object); string propValue = "[{\"name\":\"Item 1\",\"ncContentTypeAlias\":\"NCContentPicker\",\"picker\":\"1072\"},{\"name\":\"Item 2\",\"ncContentTypeAlias\":\"NCMediaPicker\",\"picker\":\"1081\"},{\"name\":\"Item 1\",\"ncContentTypeAlias\":\"NCContentPicker\",\"picker\":\"1073\"}]"; // act var result = parser.GetLinkedEntities(propValue); // verify contentTypeServiceMock.Verify(x => x.GetContentType(It.IsAny <string>()), Times.Exactly(2)); dataTypeServiceMock.Verify(x => x.GetDataTypeDefinitionById(contentPickerDataTypeDefinition.Id), Times.Once); dataTypeServiceMock.Verify(x => x.GetDataTypeDefinitionById(mediaPickerDataTypeDefinition.Id), Times.Once); Assert.IsNotNull(result); var entities = result.ToList(); Assert.AreEqual(3, entities.Count()); Assert.IsTrue(entities.Exists(x => x.LinkedEntityType == LinkedEntityType.Document && x.Id == 1072)); Assert.IsTrue(entities.Exists(x => x.LinkedEntityType == LinkedEntityType.Media && x.Id == 1081)); Assert.IsTrue(entities.Exists(x => x.LinkedEntityType == LinkedEntityType.Document && x.Id == 1073)); }