예제 #1
0
        public void InterfaceTest()
        {
            //Assign
            Item item = _db.GetItem(TargetPath);

            using (new ItemEditing(item, true))
            {
                item["DateTime"] = "20120204T150015";
                item["SingleLineText"] = "some awesome dynamic content";
            }

            dynamic d = new DynamicItem(item);
            IDynamicItem i = d as IDynamicItem;


            

            //Act
            string result = d.DateTime;
            string path = i.Path;

            //Assert
            Assert.AreEqual("04/02/2012 15:00:15", result);
            Assert.AreEqual(item.Paths.Path, path);
        }
        public void FirstOrDefault()
        {
            //Assign
            Item item = _db.GetItem(TargetPath);

            dynamic d = new DynamicItem(item);

            //Act
            var child = d.Children.FirstOrDefault();

            //Assert
            Assert.AreEqual(TargetPath+"/Child1", child.Path);
        }
        public void First_WithPredicate()
        {
            //Assign
            Item item = _db.GetItem(TargetPath);
            string name = "Child2";
            dynamic d = new DynamicItem(item);

            //Act
            var child = d.Children.First(Dy.Fc(x => x.Name == "Child2"));

            //Assert
            Assert.AreEqual(TargetPath+"/Child2", child.Path);
        }
        public void DynamicParent_ReturnsParent()
        {
            //Assign
            Item item = _db.GetItem(TargetPath);

            dynamic d = new DynamicItem(item);

            //Act
            var parent = d.Parent;
            string path = parent.Path;

            //Assert
            Assert.AreEqual(item.Parent.Paths.FullPath, path);

        }
예제 #5
0
        public void DynamicInfo_ReturnsItemInfo()
        {
            //Assign
            Item item = _db.GetItem(TargetPath);

            dynamic d = new DynamicItem(item);

            //Act
            string path = d.Path;
            string name = d.Name;

            //Assert
            Assert.AreEqual(TargetPath, path);
            Assert.AreEqual("Target", name);


        }
        public void InterfaceTest()
        {
            //Assign
            using (var database = new Db
            {
                new DbItem("Target")
                {
                      new DbField("DateTime")
                    {
                        Value = SimpleRenderField.ReplacementKey+"20120204T150015"
                    },
                     new DbField("SingleLineText")
                    {
                        Value = "some awesome dynamic content"
                    },
                    new DbItem("Child1"),
                    new DbItem("Child2"),
                    new DbItem("Child3")
                }
            })
            {
                Item item = database.GetItem("/sitecore/content/Target");

                using (new Sitecore.Sites.SiteContextSwitcher(new FakeSiteContext("Test")))
                {
                    dynamic d = new DynamicItem(item);
                    IDynamicItem i = d as IDynamicItem;


                    //Act
                    string result = d.DateTime;
                    string path = i.Path;

                    //Assert
                    Assert.AreEqual(SimpleRenderField.ReplacementValue + "20120204T150015", result);
                    Assert.AreEqual(item.Paths.Path, path);
                }
            }
        }
예제 #7
0
        public void DynamicFields_ReturnsFields()
        {
            //Assign
            Item item = _db.GetItem(TargetPath);

            using (new ItemEditing(item, true))
            {
                item["DateTime"] = "20120204T150015";
                item["SingleLineText"] = "some awesome dynamic content";
            }
            dynamic d = new DynamicItem(item);

            //Act
            string dateTime = d.DateTime;

            string text = d.SingleLineText;


            //Assert
            Assert.AreEqual("some awesome dynamic content", text);
            Assert.AreEqual("04/02/2012 15:00:15", dateTime);
        }
        public void First()
        {
            using (var database = new Db
            {
                new DbItem("Target")
                {
                    new DbItem("Child1"),
                    new DbItem("Child2")
                }
            })
            {
                //Assign
                Item item = database.GetItem("/sitecore/content/Target");

                dynamic d = new DynamicItem(item);

                //Act
                var child = d.Children.First();

                //Assert
                Assert.AreEqual("/sitecore/content/Target/Child1", child.Path);
            }
        }
        public void First_WithPredicate()
        {
            //Assign
            using (var database = new Db
            {
                new DbItem("Target")
                {
                    new DbItem("Child1"),
                    new DbItem("Child2")
                }
            })
            {
                Item item = database.GetItem("/sitecore/content/Target");
                string name = "Child2";
                dynamic d = new DynamicItem(item);

                //Act
                var child = d.Children.First(Dy.Fc(x => x.Name == "Child2"));

                //Assert
                Assert.AreEqual("/sitecore/content/Target/Child2", child.Path);
            }
        }
        public void Where()
        {
            //Assign
            Item item = _db.GetItem(TargetPath);

            dynamic d = new DynamicItem(item);

            //Act
            var child = d.Children.Where(Dy.Fc(x => x.Name == "Child2")).First();

            //Assert
            Assert.AreEqual(TargetPath+"/Child2", child.Path);
        }
        public void ElementAt()
        {
            //Assign
            Item item = _db.GetItem(TargetPath);

            dynamic d = new DynamicItem(item);

            //Act
            var child = d.Children.ElementAt(1);

            //Assert
            Assert.AreEqual(TargetPath+"/Child2", child.Path);
        }
        public void ForEach()
        {
            //Assign
            using (var database = new Db
            {
                new DbItem("Target")
                {
                    new DbItem("Child1"),
                    new DbItem("Child2"),
                    new DbItem("Child3")
                }
            })
            {
                Item item = database.GetItem("/sitecore/content/Target");

                dynamic d = new DynamicItem(item);

                //Act
                var children = d.Children;

                //Assert
                int total = 0;
                foreach (var child in children)
                {
                    total++;
                    switch (total)
                    {
                        case 1:
                            Assert.AreEqual("/sitecore/content/Target/Child1", child.Path);
                            break;
                        case 2:
                            Assert.AreEqual("/sitecore/content/Target/Child2", child.Path);
                            break;
                        case 3:
                            Assert.AreEqual("/sitecore/content/Target/Child3", child.Path);
                            break;
                    }
                }

                Assert.AreEqual(3, total);
            }

        }
        public void DynamicFields_ReturnsFields()
        {
            //Assign
            using (var database = new Db
            {
                new DbItem("Target")
                {
                    new DbField("DateTime")
                    {
                        Value = SimpleRenderField.ReplacementKey+"20120204T150015"
                    },
                     new DbField("SingleLineText")
                    {
                        Value = SimpleRenderField.ReplacementKey+"some awesome dynamic content"
                    },
                    new DbItem("Child1"),
                    new DbItem("Child2"),
                    new DbItem("Child3")
                }
            })
            {
                using (new Sitecore.Sites.SiteContextSwitcher(new FakeSiteContext("Test")))
                {
                    Item item = database.GetItem("/sitecore/content/Target");

                    dynamic d = new DynamicItem(item);

                    //Act
                    string dateTime = d.DateTime;

                    string text = d.SingleLineText;


                    //Assert
                    Assert.AreEqual(SimpleRenderField.ReplacementValue+"some awesome dynamic content", text);
                    Assert.AreEqual(SimpleRenderField.ReplacementValue + "20120204T150015", dateTime);
                }
            }
        }
        public void Count()
        {
            //Assign
            Item item = _db.GetItem(TargetPath);

            dynamic d = new DynamicItem(item);

            //Act
            var count = d.Children.Count();

            //Assert
            Assert.AreEqual(3, count);
        }
        public void Select_ToDynamic()
        {
            //Assign
            Item item = _db.GetItem(TargetPath);

            dynamic d = new DynamicItem(item);

            //Act
            var children = d.Children.Select(Dy.FcT(x => new { Name = x.Name })) as IEnumerable<dynamic>;
            var child = children.First();
            //Assert

            Assert.AreEqual("Child1", child.Name);
        }
        public void ContentPath_ReturnsContentPath()
        {
            //Arrange
            //Assign
            using (var database = new Db
            {
                new DbItem("Target")
                {
                    new DbItem("Child1"),
                    new DbItem("Child2"),
                    new DbItem("Child3")
                }
            })
            {
                Item item = database.GetItem("/sitecore/content/Target");

                dynamic d = new DynamicItem(item);

                //Act
                var result = d.ContentPath;

                //Assert
                Assert.AreEqual(item.Paths.ContentPath, result);
            }
        }
        public void All()
        {
            //Assign
            using (var database = new Db
            {
                new DbItem("Target")
                {
                    new DbItem("Child1"),
                    new DbItem("Child2"),
                    new DbItem("Child3")
                }
            })
            {
                Item item = database.GetItem("/sitecore/content/Target");

                dynamic d = new DynamicItem(item);

                //Act
                var result1 = d.Children.All(Dy.Fc(x => x.Name.StartsWith("Child")));
                var result2 = d.Children.All(Dy.Fc(x => x.Name.StartsWith("Child2")));

                //Assert
                Assert.AreEqual(true, result1);
                Assert.AreEqual(false, result2);
            }

        }
        public void DynamicParent_ReturnsLastChild()
        {
            //Assign
            using (var database = new Db
            {
                new DbItem("Target")
                {
                    new DbItem("Child1"),
                    new DbItem("Child2"),
                    new DbItem("Child3")
                }
            })
            {
                Item item = database.GetItem("/sitecore/content/Target");

                dynamic d = new DynamicItem(item);

                //Act

                var children = d.Children;

                //Assert
                Assert.AreEqual(3, children.Count());

                var child = d.Children.Last();

                string path = child.Path;
                Assert.IsTrue(path.StartsWith("/sitecore/content/Target"));
            }
        }
        public void DynamicParent_ReturnsParent()
        {
            //Assign
            using (var database = new Db
            {
                new DbItem("Target")
                {
                    new DbItem("Child1"),
                    new DbItem("Child2"),
                    new DbItem("Child3")
                }
            })
            {
                Item item = database.GetItem("/sitecore/content/Target");

                dynamic d = new DynamicItem(item);

                //Act
                var parent = d.Parent;
                string path = parent.Path;

                //Assert
                Assert.AreEqual(item.Parent.Paths.FullPath, path);
            }
        }
        public void DynamicInfo_ReturnsItemInfo()
        {
            //Assign
            using (var database = new Db
            {
                new DbItem("Target")
                {
                    new DbItem("Child1"),
                    new DbItem("Child2"),
                    new DbItem("Child3")
                }
            })
            {
                Item item = database.GetItem("/sitecore/content/Target");

                dynamic d = new DynamicItem(item);

                //Act
                string path = d.Path;
                string name = d.Name;

                //Assert
                Assert.AreEqual("/sitecore/content/Target", path);
                Assert.AreEqual("Target", name);

            }
        }
        public void Any()
        {
            //Assign
            Item item = _db.GetItem(TargetPath);

            dynamic d = new DynamicItem(item);

            //Act
            var result1 = d.Children.Any(Dy.Fc(x => x.Name == "Child2"));
            var result2 = d.Children.Any(Dy.Fc(x => x.Name == "NotThere"));

            //Assert
            Assert.AreEqual(true, result1);
            Assert.AreEqual(false, result2);

        }
        public void Version_ReturnsVersion()
        {
            //Arrange
            //Assign
            using (var database = new Db
            {
                new DbItem("Target")
                {
                    new DbItem("Child1"),
                    new DbItem("Child2"),
                    new DbItem("Child3")
                }
            })
            {
                Item item = database.GetItem("/sitecore/content/Target");

                dynamic d = new DynamicItem(item);

                //Act
                var result = d.Version;

                //Assert
                Assert.AreEqual(item.Version.Number, result);
            }
        }
        public void All()
        {
            //Assign
            Item item = _db.GetItem(TargetPath);

            dynamic d = new DynamicItem(item);
            
            //Act
            var result1 = d.Children.All(Dy.Fc(x => x.Name.StartsWith("Child")));
            var result2 = d.Children.All(Dy.Fc(x => x.Name.StartsWith("Child2")));

            //Assert
            Assert.AreEqual(true, result1);
            Assert.AreEqual(false, result2);

        }
        public void Url_ReturnsUrl()
        {
            //Arrange
            //Assign
            using (var database = new Db
            {
                new DbItem("Target")
                {
                    new DbItem("Child1"),
                    new DbItem("Child2"),
                    new DbItem("Child3")
                }
            })
            {
                Item item = database.GetItem("/sitecore/content/Target");

                dynamic d = new DynamicItem(item);

                //Act
                var result = d.Url;

                //Assert
                Assert.AreEqual(LinkManager.GetItemUrl(item), result);
            }
        }
        public void Where_Select_First_DyamicsTypes()
        {
            //Assign
            Item item = _db.GetItem(TargetPath);

            dynamic d = new DynamicItem(item);

            //Act
            var child = d.Children.Where(Dy.Fc(x=> x.Name == "Child2")).Select(Dy.FcT(x => new { NewPath = x.Path, NewName = x.Name })).First();

            //Assert
            Assert.AreEqual(TargetPath+"/Child2", child.NewPath);
            Assert.AreEqual("Child2", child.NewName);

        }
        public void Count()
        {
            //Assign
            using (var database = new Db
            {
                new DbItem("Target")
                {
                    new DbItem("Child1"),
                    new DbItem("Child2"),
                    new DbItem("Child3")
                }
            })
            {
                Item item = database.GetItem("/sitecore/content/Target");

                dynamic d = new DynamicItem(item);

                //Act
                var count = d.Children.Count();

                //Assert
                Assert.AreEqual(3, count);
            }
        }
        public void ForEach()
        {
            //Assign
            Item item = _db.GetItem(TargetPath);

            dynamic d = new DynamicItem(item);

            //Act
            var children = d.Children;

            //Assert
            int total = 0;
            foreach (var child in children)
            {
                total++;
                switch (total)
                {
                    case 1:
                        Assert.AreEqual(TargetPath+"/Child1", child.Path);
                        break;
                    case 2:
                        Assert.AreEqual(TargetPath + "/Child2", child.Path);
                        break;
                    case 3:
                        Assert.AreEqual(TargetPath + "/Child3", child.Path);
                        break;
                }
            }

            Assert.AreEqual(3, total);
                
        }
        public void BaseTemplateIds_ReturnsBaseTemplateIds()
        {
            //Arrange
            //Assign

            ID templateId = ID.NewID;
            ID baseTemplateId1 = ID.NewID;
            ID baseTemplateId2 = ID.NewID;

            using (var database = new Db
            {
                new Sitecore.FakeDb.DbTemplate("temp", templateId)
                {
                  new DbField("__Base template")
                  {
                      Value = "{0}|{1}".Formatted(baseTemplateId1.ToString(), baseTemplateId2.ToString())
                  }
                },
                new Sitecore.FakeDb.DbTemplate("base1", baseTemplateId1),
                new Sitecore.FakeDb.DbTemplate("base2", baseTemplateId2),
                new DbItem("Target",ID.NewID, templateId)
                {
                    new DbItem("Child1"),
                    new DbItem("Child2"),
                    new DbItem("Child3")
                }
            })
            {
                Item item = database.GetItem("/sitecore/content/Target");

                dynamic d = new DynamicItem(item);

                //Act
                var result = d.BaseTemplateIds as IEnumerable<Guid>;

                //Assert
                Assert.AreEqual(result.Count(), 3);
            }
        }
        public void Select_ToDynamic()
        {
            //Assign
            using (var database = new Db
            {
                new DbItem("Target")
                {
                    new DbItem("Child1"),
                    new DbItem("Child2"),
                    new DbItem("Child3")
                }
            })
            {
                Item item = database.GetItem("/sitecore/content/Target");

                dynamic d = new DynamicItem(item);

                //Act
                var children = d.Children.Select(Dy.FcT(x => new {Name = x.Name})) as IEnumerable<dynamic>;
                var child = children.First();
                //Assert

                Assert.AreEqual("Child1", child.Name);
            }
        }
        public void Where_Select_First_DyamicsTypes()
        {
            //Assign
            using (var database = new Db
            {
                new DbItem("Target")
                {
                    new DbItem("Child1"),
                    new DbItem("Child2"),
                    new DbItem("Child3")
                }
            })
            {
                Item item = database.GetItem("/sitecore/content/Target");

                dynamic d = new DynamicItem(item);

                //Act
                var child =
                    d.Children.Where(Dy.Fc(x => x.Name == "Child2"))
                        .Select(Dy.FcT(x => new {NewPath = x.Path, NewName = x.Name}))
                        .First();

                //Assert
                Assert.AreEqual("/sitecore/content/Target/Child2", child.NewPath);
                Assert.AreEqual("Child2", child.NewName);
            }

        }