public void Ctor_Guid_NoSetup_False_PopulatesNode_CallsSetupNode()
        {
            var node = new TestCMSNode(textStringDataTypeUniqueId, false);

            AssertTextStringDataTypeNode(node);
            Assert.IsTrue(node.SetupNodeCalled);
        }
        public void Ctor_Guid_NoSetup_AssignsIdOnly()
        {
            var node = new TestCMSNode(textStringDataTypeUniqueId, true);

            AssertTextStringDataTypeIdOnly(node);
            Assert.IsFalse(node.SetupNodeCalled);
        }
            public static CMSNode CreateUsingSetupNode(int id)
            {
                var node = new TestCMSNode(id, true);

                node.setupNode();
                return(node);
            }
        public void Ctor_Int_PopulatesNode_CallsSetupNode()
        {
            var node = new TestCMSNode(TextStringDataTypeId);

            AssertTextStringDataTypeNode(node);
            Assert.IsTrue(node.SetupNodeCalled);
        }
        public void MakeNew_PersistsNewUmbracoNodeRow()
        {
            // Testing Document._objectType, since it has exclusive use of GetNewDocumentSortOrder. :)

            int id = 0;

            try
            {
                CreateContext();
                TestCMSNode.MakeNew(-1, 1, "TestContent 1", Document._objectType);
                TestCMSNode.MakeNew(-1, 1, "TestContent 2", Document._objectType);
                var node3          = TestCMSNode.MakeNew(-1, 1, "TestContent 3", Document._objectType);
                var totalDocuments = database.ExecuteScalar <int>(
                    "SELECT COUNT(*) FROM umbracoNode WHERE nodeObjectType = @ObjectTypeId",
                    new { ObjectTypeId = Document._objectType });
                Assert.AreEqual(3, totalDocuments);
                id = node3.Id;
                var loadedNode = new CMSNode(id);
                AssertNonEmptyNode(loadedNode);
                Assert.AreEqual(2, loadedNode.sortOrder);
            }
            finally
            {
                DeleteContent();
            }
        }
        public void getUniquesFromObjectTypeAndFirstLetter_ReturnsUniqueIdsWhereTextStartsWith()
        {
            EnsureTestDocumentTypes();
            var nodes = CreateContent();

            try
            {
                var expected = new[] { nodes[1].Id, nodes[2].Id };
                var result   = TestCMSNode.ExecuteGetUniquesFromObjectTypeAndFirstLetter(Document._objectType, 'B');
                Assert.IsTrue(expected.SequenceEqual(result));
            }
            finally
            {
                for (var i = nodes.Count - 1; i >= 0; i--)
                {
                    nodes[i].delete();
                }
                DeleteContent();
            }
        }
        public void SavePreviewXml_WhenNew_PersistsXml()
        {
            EnsureTestDocumentTypes();
            try
            {
                var node       = Document.MakeNew("Test content", new DocumentType(testContentType1), new User(0), -1);
                var asTestNode = new TestCMSNode(node.Id);
                //var xmlNode = node.ToPreviewXml(new XmlDocument());
                asTestNode.ExecuteSavePreviewXml(new XmlDocument(), node.Version);
                var persistedXml = database.ExecuteScalar <string>("SELECT xml FROM cmsPreviewXml WHERE nodeId = @id",
                                                                   new { id = node.Id });

                Console.WriteLine(persistedXml);

                Assert.IsNotNullOrEmpty(persistedXml);
            }
            finally
            {
                DeleteContent();
            }
        }
        public void GetPreviewXml_ReturnsPersistedXml()
        {
            EnsureTestDocumentTypes();
            try
            {
                var node = Document.MakeNew("Test content", new DocumentType(testContentType1), new User(0), -1);
                node.ToPreviewXml(new XmlDocument());
                var asTestNode = new TestCMSNode(node.Id);

                var expected = database.ExecuteScalar <string>("SELECT xml FROM cmsPreviewXml WHERE nodeId = @id",
                                                               new { id = node.Id });

                var result = asTestNode.ExecuteGetPreviewXml(new XmlDocument(), node.Version);
                var actual = result.OuterXml;

                Assert.AreEqual(expected, actual);
            }
            finally
            {
                DeleteContent();
            }
        }