GenerateNode() публичный Метод

Generates the node.
public GenerateNode ( int nodeId ) : Node
nodeId int The id of the node in Umbraco.
Результат Node
Пример #1
0
        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"));
        }