/// <summary> /// Gets for native node and property alias. /// </summary> /// <param name="id">The node id.</param> /// <param name="propertyTypeAlias">The property alias.</param> /// <returns></returns> public virtual UmbracoPropertyType GetForNativeDocumentTypePropertyAlias(int id, string propertyTypeAlias) { var documentType = new DocumentType(id); var nativePropertyType = documentType.getPropertyType(propertyTypeAlias); var umbracoPropertyType = new UmbracoPropertyType { Name = propertyTypeAlias, DataTypeName = nativePropertyType.DataTypeDefinition.DataType.DataTypeName, DatabaseType = GetDatabaseType( nativePropertyType.DataTypeDefinition.DataType. DataTypeDefinitionId) }; return umbracoPropertyType; }
public void GenerateForDocumentTypeIdAlias() { var titleDt = new UmbracoPropertyType { DatabaseType = "nvarchar", Name = "title" }; var contentDt = new UmbracoPropertyType { DatabaseType = "nvarchar", Name = "content" }; var mockPropTypeRepo = new Mock<IUmbracoPropertyTypeRepository>(); mockPropTypeRepo.Setup(x => x.GetForNativeDocumentTypePropertyAlias(9, "title")) .Returns(titleDt); mockPropTypeRepo.Setup(x => x.GetForNativeDocumentTypePropertyAlias(9, "content")) .Returns(contentDt); var factory = new PropertyTypeFactory(mockPropTypeRepo.Object); var prop1 = factory.GenerateForDocumentTypeIdAlias(9, "title"); Assert.AreEqual("http://localhost/rdf/ontology#hasTitle", prop1.Iri); Assert.AreEqual("nvarchar", prop1.DatabaseType); var prop2 = factory.GenerateForDocumentTypeIdAlias(9, "content"); Assert.AreEqual("http://localhost/rdf/ontology#hasContent", prop2.Iri); Assert.AreEqual("nvarchar", prop2.DatabaseType); }
public void GenerateNode() { var focusedNode = new UmbracoNode { Name = "FocusedNode", ChildrenIds = new int[] { 2 }, DocumentTypeId = 15, ParentId = 3 }; focusedNode.Properties.Add(new UmbracoProperty() { Name = "title", Value = "Focused node" }); focusedNode.Properties.Add(new UmbracoProperty() { Name = "content4testing", Value = "Test content" }); var childNode = new UmbracoNode { Name = "ChildNode" }; var parentNode = new UmbracoNode { Name = "ParentNode" }; var mockNodeRepo = new Mock<IUmbracoNodeRepository>(); mockNodeRepo.Setup(x => x.GetByNodeId(1)).Returns(focusedNode); mockNodeRepo.Setup(x => x.GetByNodeId(2)).Returns(childNode); mockNodeRepo.Setup(x => x.GetByNodeId(3)).Returns(parentNode); var titleDt = new UmbracoPropertyType { DatabaseType = "nvarchar", Name = "title" }; var contentDt = new UmbracoPropertyType { DatabaseType = "nvarchar", Name = "content" }; var contentTestNameDt = new UmbracoPropertyType { DatabaseType = "nvarchar", Name = "content4testing" }; var mockPropTypeRepo = new Mock<IUmbracoPropertyTypeRepository>(); mockPropTypeRepo.Setup(x => x.GetForNativeDocumentTypePropertyAlias(15, "title")) .Returns(titleDt); mockPropTypeRepo.Setup(x => x.GetForNativeDocumentTypePropertyAlias(15, "content")) .Returns(contentDt); mockPropTypeRepo.Setup(x => x.GetForNativeDocumentTypePropertyAlias(15, "content4testing")) .Returns(contentTestNameDt); var dt15 = new UmbracoDocumentType() { AllowedContentTypeChildrenIds = new int[] { }, InherritanceParentId = -1, Name = "TestDocumentType", PropertyTypes = new List<UmbracoPropertyType>() { new UmbracoPropertyType() {DatabaseType = "nvarchar", Name = "title"}, new UmbracoPropertyType() {DatabaseType = "nvarchar", Name = "content"} } }; var mockDocTypeRepo = new Mock<IUmbracoDocumentTypeRepository>(); mockDocTypeRepo.Setup(x => x.GetById(15)) .Returns(dt15); var resourceFactory = new ResourceFactory(mockNodeRepo.Object, mockPropTypeRepo.Object, mockDocTypeRepo.Object); var node = resourceFactory.GenerateNode(1); Assert.AreEqual("http://localhost/rdf/resource/FocusedNode", node.Iri); Assert.AreEqual("http://localhost/rdf/resource/ParentNode", node.ParentIri); Assert.AreEqual("http://localhost/rdf/resource/ChildNode", node.ChildrenIris.First()); Assert.IsTrue(node.Properties.Any(x => x.PropertyType.Iri == "http://localhost/rdf/ontology#hasTitle" && x.PropertyType.DatabaseType == "nvarchar" && x.Value == "Focused node")); Assert.IsTrue(node.Properties.Any(x => x.PropertyType.Iri == "http://localhost/rdf/ontology#hasTestedContent" && x.PropertyType.DatabaseType == "nvarchar" && x.Value == "Test content")); }
public void GenerateDocumentType() { var dt9 = new UmbracoDocumentType() { AllowedContentTypeChildrenIds = new int[] {10}, InherritanceParentId = 16, InherritanceChildrenIds = new List<int>(){13}, Name = "TestDocumentType", PropertyTypes = new List<UmbracoPropertyType>() { new UmbracoPropertyType() {DatabaseType = "nvarchar", Name = "title"}, new UmbracoPropertyType() {DatabaseType = "nvarchar", Name = "content"} } }; var dt16 = new UmbracoDocumentType() { AllowedContentTypeChildrenIds = new int[] { 9 }, Name = "TestParentDocumentType", PropertyTypes = new List<UmbracoPropertyType>() { new UmbracoPropertyType() {DatabaseType = "nvarchar", Name = "title"}, new UmbracoPropertyType() {DatabaseType = "nvarchar", Name = "content"} } }; var dt13 = new UmbracoDocumentType() { Name = "TestInherritanceChildType", PropertyTypes = new List<UmbracoPropertyType>() { new UmbracoPropertyType() {DatabaseType = "nvarchar", Name = "title"}, new UmbracoPropertyType() {DatabaseType = "nvarchar", Name = "content"} } }; var dt10 = new UmbracoDocumentType() { Name = "TestAllowedContentChild", PropertyTypes = new List<UmbracoPropertyType>() { new UmbracoPropertyType() {DatabaseType = "nvarchar", Name = "title"}, new UmbracoPropertyType() {DatabaseType = "nvarchar", Name = "content"} } }; var mockDocTypeRepo = new Mock<IUmbracoDocumentTypeRepository>(); mockDocTypeRepo.Setup(x => x.GetById(9)) .Returns(dt9); mockDocTypeRepo.Setup(x => x.GetById(16)) .Returns(dt16); mockDocTypeRepo.Setup(x => x.GetById(13)) .Returns(dt13); mockDocTypeRepo.Setup(x => x.GetById(10)) .Returns(dt10); var titleDt = new UmbracoPropertyType {DatabaseType = "nvarchar", Name = "title"}; var contentDt = new UmbracoPropertyType { DatabaseType = "nvarchar", Name = "content" }; var mockPropTypeRepo = new Mock<IUmbracoPropertyTypeRepository>(); mockPropTypeRepo.Setup(x => x.GetForNativeDocumentTypePropertyAlias(9, "title")) .Returns(titleDt); mockPropTypeRepo.Setup(x => x.GetForNativeDocumentTypePropertyAlias(9, "content")) .Returns(contentDt); var factory = new OntologyFactory(mockDocTypeRepo.Object, mockPropTypeRepo.Object); var docType = factory.GenerateDocumentType(9); Debug.WriteLine("Created document type with IRI: " + docType.Iri); Assert.AreEqual("http://localhost/rdf/ontology#TestDocumentType", docType.Iri); Assert.AreEqual("http://localhost/rdf/ontology#TestParentDocumentType", docType.ParentIri); Assert.AreEqual(2, docType.PropertyTypes.Count); Assert.IsTrue(docType.PropertyTypes.Any(x => x.Iri == "http://localhost/rdf/ontology#hasTitle" && x.DatabaseType == "nvarchar")); Assert.IsTrue(docType.PropertyTypes.Single(x => x.Iri == "http://localhost/rdf/ontology#hasTitle").EquivalentIris.Count == 3); Assert.IsTrue(docType.PropertyTypes.Any(x => x.Iri == "http://localhost/rdf/ontology#hasContent" && x.DatabaseType == "nvarchar")); Assert.AreEqual(1, docType.AllowedContentTypeChildrenIris.Count); Assert.AreEqual("http://localhost/rdf/ontology#TestAllowedContentChild", docType.AllowedContentTypeChildrenIris[0]); Assert.AreEqual(1, docType.ChildrenIris.Count); Assert.IsTrue(docType.ChildrenIris.Any(x => x == "http://localhost/rdf/ontology#TestInherritanceChildType")); }