public void TestIsParserForInValidView() { // arrange var parser = new LeBlenderGridEditorParser(); // act var result = parser.IsParserFor("foo"); // verify Assert.IsFalse(result); }
public void TestIsParserForValidView() { // arrange var parser = new LeBlenderGridEditorParser(); // act var result = parser.IsParserFor("/App_Plugins/LeBlender/editors/leblendereditor/LeBlendereditor.html"); // verify Assert.IsTrue(result); }
public void TestGetLinkedEntitiesWithEmptyValue() { // arrange var parser = new LeBlenderGridEditorParser(); // act var result = parser.GetLinkedEntities(null); // verify Assert.IsNotNull(result); Assert.AreEqual(0, result.Count()); }
public void TestGetLinkedEntities() { // arrange var dataTypeServiceMock = new Mock <IDataTypeService>(); var contentPickerDataTypeDefinition = new DataTypeDefinition(global::Umbraco.Core.Constants.PropertyEditors.ContentPickerAlias) { Key = Guid.NewGuid() }; var mediaPickerDataTypeDefinition = new DataTypeDefinition(global::Umbraco.Core.Constants.PropertyEditors.MediaPickerAlias) { Key = Guid.NewGuid() }; var rteDataTypeDefinition = new DataTypeDefinition(global::Umbraco.Core.Constants.PropertyEditors.TinyMCEAlias) { Key = Guid.NewGuid() }; var stringDataTypeDefinition = new DataTypeDefinition(global::Umbraco.Core.Constants.PropertyEditors.TextboxAlias) { Key = Guid.NewGuid() }; dataTypeServiceMock.Setup(x => x.GetDataTypeDefinitionById(contentPickerDataTypeDefinition.Key)) .Returns(contentPickerDataTypeDefinition); dataTypeServiceMock.Setup(x => x.GetDataTypeDefinitionById(mediaPickerDataTypeDefinition.Key)) .Returns(mediaPickerDataTypeDefinition); dataTypeServiceMock.Setup(x => x.GetDataTypeDefinitionById(rteDataTypeDefinition.Key)) .Returns(rteDataTypeDefinition); dataTypeServiceMock.Setup(x => x.GetDataTypeDefinitionById(stringDataTypeDefinition.Key)) .Returns(stringDataTypeDefinition); var parser = new LeBlenderGridEditorParser(dataTypeServiceMock.Object); var rteLinkId = 1079; var rteMediaId = 1080; var mediaPickerId = 1068; var contentPickerId = 1086; string value = $@"[ {{ ""title"":{{ ""value"":""Test"", ""dataTypeGuid"":""{stringDataTypeDefinition.Key}"", ""editorAlias"":""title"", ""editorName"":""Title"" }}, ""text"":{{ ""value"":""<p>Content with <a data-id=\""{rteLinkId}\"" href=\""/{{localLink:{rteLinkId}}}\"" title=\""Contact\"">links</a></p>\n<p>�</p>\n<p>And media</p>\n<p><img style=\""width: 500px; height:333.49609375px;\"" src=\""/media/1052/boston-city-flow.jpg?width=500&height=333.49609375\"" alt=\""\"" rel=\""{rteMediaId}\"" data-id=\""{rteMediaId}\"" /></p>"", ""dataTypeGuid"":""{rteDataTypeDefinition.Key}"", ""editorAlias"":""text"", ""editorName"":""Text"" }}, ""media"":{{ ""value"":""{mediaPickerId}"", ""dataTypeGuid"":""{mediaPickerDataTypeDefinition.Key}"", ""editorAlias"":""media"", ""editorName"":""Media"" }}, ""content"":{{ ""value"":""{contentPickerId}"", ""dataTypeGuid"":""{contentPickerDataTypeDefinition.Key}"", ""editorAlias"":""content"", ""editorName"":""Content"" }} }} ]"; // act var result = parser.GetLinkedEntities(value).ToList(); // assert dataTypeServiceMock.Verify(x => x.GetDataTypeDefinitionById(contentPickerDataTypeDefinition.Key), Times.Once); dataTypeServiceMock.Verify(x => x.GetDataTypeDefinitionById(mediaPickerDataTypeDefinition.Key), Times.Once); dataTypeServiceMock.Verify(x => x.GetDataTypeDefinitionById(rteDataTypeDefinition.Key), Times.Once); dataTypeServiceMock.Verify(x => x.GetDataTypeDefinitionById(stringDataTypeDefinition.Key), Times.Once); Assert.AreEqual(4, result.Count); Assert.AreEqual(2, result.Count(x => x.LinkedEntityType == LinkedEntityType.Media)); Assert.AreEqual(2, result.Count(x => x.LinkedEntityType == LinkedEntityType.Document)); Assert.IsTrue(result.Any(x => x.LinkedEntityType == LinkedEntityType.Media && x.Id == mediaPickerId)); Assert.IsTrue(result.Any(x => x.LinkedEntityType == LinkedEntityType.Media && x.Id == rteMediaId)); Assert.IsTrue(result.Any(x => x.LinkedEntityType == LinkedEntityType.Document && x.Id == rteLinkId)); Assert.IsTrue(result.Any(x => x.LinkedEntityType == LinkedEntityType.Document && x.Id == contentPickerId)); }