Esempio n. 1
0
        ShimFieldCollection CreateFakeFieldCollection(ShimItem item, List <ShimField> fields)
        {
            foreach (var field in fields)
            {
                field.ItemGet = () => item;
            }

            var fieldCollection = new ShimFieldCollection()
            {
                ItemGetString = (fieldName) =>
                {
                    return(fields.SingleOrDefault(n => n.Instance.Name.Equals(fieldName, StringComparison.OrdinalIgnoreCase)));
                }
            };

            if (!itemFields.ContainsKey(item.Instance.ID))
            {
                itemFields.Add(item.Instance.ID, fields);
            }
            else
            {
                itemFields[item.Instance.ID] = fields;
            }

            fieldCollection.Bind(itemFields[item.Instance.ID]);

            return(fieldCollection);
        }
Esempio n. 2
0
 public ShimItem CreateFakeItem(ShimItem parentItem, string name, Action<ShimItem, ShimTemplateItem> onItemCreating)
 {
     return CreateFakeItem(parentItem, name, (i, t, f) => {
         if (onItemCreating != null)
             onItemCreating(i, t);
     });
 }
Esempio n. 3
0
 public ShimItem CreateFakeItem(ShimItem parentItem, string name, Action<ShimItem, List<ShimField>> onItemCreating)
 {
     return CreateFakeItem(parentItem, name, (i, f) =>
     {
         if (onItemCreating != null)
             onItemCreating(i, f);
     });
 }
Esempio n. 4
0
 public ShimItem CreateFakeItem(ShimItem parentItem, string name, Action <ShimItem, ShimTemplateItem> onItemCreating)
 {
     return(CreateFakeItem(parentItem, name, (i, t, f) => {
         if (onItemCreating != null)
         {
             onItemCreating(i, t);
         }
     }));
 }
Esempio n. 5
0
 public ShimItem CreateFakeItem(ShimItem parentItem, string name, Action <ShimItem, List <ShimField> > onItemCreating)
 {
     return(CreateFakeItem(parentItem, name, (i, f) =>
     {
         if (onItemCreating != null)
         {
             onItemCreating(i, f);
         }
     }));
 }
Esempio n. 6
0
        public ShimItem CreateFakeItem(ShimItem parentItem, string name, Action <ShimItem, ShimTemplateItem, List <ShimField> > onItemCreating)
        {
            var id = ID.NewID;

            var item = new ShimItem()
            {
                IDGet          = () => id,
                KeyGet         = () => name.ToLower(),
                NameGet        = () => name,
                HasChildrenGet = () => false,
                ParentGet      = () => parentItem,
                PathsGet       = () =>
                {
                    var path = (parentItem != null ? parentItem.Instance.Paths.Path : "") + "/" + name;

                    return(new ShimItemPath()
                    {
                        PathGet = () => path,
                        FullPathGet = () => path,
                    });
                },
                LanguageGet = () => ContextLanguage,
                VersionsGet = () => new ShimItemVersions()
                {
                    CountGet = () => { return(1); }
                }
            };

            //Bind item to parent item
            if (parentItem != null)
            {
                var children = parentItem.Instance.HasChildren ? parentItem.Instance.Children.ToList() : new List <Item>();
                children.Add(item);

                parentItem.HasChildrenGet = () => true;
                parentItem.ChildrenGet    = () => new ChildList(parentItem.Instance, children);
                parentItem.GetChildren    = () => parentItem.Instance.Children;
            }

            var templateItem = new ShimTemplateItem();
            var fields       = new List <ShimField>();

            onItemCreating(item, templateItem, fields);

            item.TemplateGet = () => templateItem;
            item.FieldsGet   = () => CreateFakeFieldCollection(item, fields);

            return(item);
        }
Esempio n. 7
0
        public static Item CreateTestItem(string id = null, string name = "Test Item", Guid templateId = default(Guid), FieldCollection fields = null)
        {
            Item item = new ShimItem()
            {
                NameGet = () => name ?? "Test Item",
                IDGet = () => new Sitecore.Data.ID(id ?? new Guid().ToString()),
                TemplateIDGet = () => new Sitecore.Data.ID(templateId),
                FieldsGet = () => fields ?? CreateTestFields(),
            };

            new ShimBaseItem(item)
            {
                ItemGetString = fieldName => item.Fields[fieldName].Value
            };

            return item;
        }
Esempio n. 8
0
        public static Item CreateTestItem(string id = null, string name = "Test Item", Guid templateId = default(Guid), FieldCollection fields = null)
        {
            Item item = new ShimItem()
            {
                NameGet       = () => name ?? "Test Item",
                IDGet         = () => new Sitecore.Data.ID(id ?? new Guid().ToString()),
                TemplateIDGet = () => new Sitecore.Data.ID(templateId),
                FieldsGet     = () => fields ?? CreateTestFields(),
            };

            new ShimBaseItem(item)
            {
                ItemGetString = fieldName => item.Fields[fieldName].Value
            };

            return(item);
        }
Esempio n. 9
0
        public void Initialize(Action<SitecoreFaker> onInitializing = null)
        {
            EnforceTestInitialize();

            Sitecore = CreateFakeItem(null, "sitecore", (sitecore) => {
                Content = CreateFakeItem(sitecore, "content", (content) =>
                {
                    Website = CreateFakeItem(content, "website", (site) =>
                    {
                        Home = CreateFakeItem(site, "home", (home) =>
                        {

                        });
                    });
                });
            });

            if (onInitializing != null)
                onInitializing(this);

            FakeBaseItem();
            FakeSitecoreContext();
        }
Esempio n. 10
0
        public void Initialize(Action <SitecoreFaker> onInitializing = null)
        {
            EnforceTestInitialize();

            Sitecore = CreateFakeItem(null, "sitecore", (sitecore) => {
                Content = CreateFakeItem(sitecore, "content", (content) =>
                {
                    Website = CreateFakeItem(content, "website", (site) =>
                    {
                        Home = CreateFakeItem(site, "home", (home) =>
                        {
                        });
                    });
                });
            });

            if (onInitializing != null)
            {
                onInitializing(this);
            }

            FakeBaseItem();
            FakeSitecoreContext();
        }
Esempio n. 11
0
 public ShimItem CreateFakeItem(ShimItem parentItem, string name)
 {
     return(CreateFakeItem(parentItem, name, (i, t, f) =>
     {
     }));
 }
Esempio n. 12
0
        public ShimItem CreateFakeItem(ShimItem parentItem, string name, Action<ShimItem, ShimTemplateItem, List<ShimField>> onItemCreating)
        {
            var id = ID.NewID;

            var item = new ShimItem()
            {
                IDGet = () => id,
                KeyGet = () => name.ToLower(),
                NameGet = () => name,
                HasChildrenGet = () => false,
                ParentGet = () => parentItem,
                PathsGet = () =>
                {
                    var path = (parentItem != null ? parentItem.Instance.Paths.Path : "") + "/" + name;

                    return new ShimItemPath()
                    {
                        PathGet = () => path,
                        FullPathGet = () => path,
                    };
                },
                LanguageGet = () => ContextLanguage,
                VersionsGet = () => new ShimItemVersions() { CountGet = () => { return 1; } }
            };

            //Bind item to parent item
            if (parentItem != null)
            {
                var children = parentItem.Instance.HasChildren ? parentItem.Instance.Children.ToList() : new List<Item>();
                children.Add(item);

                parentItem.HasChildrenGet = () => true;
                parentItem.ChildrenGet = () => new ChildList(parentItem.Instance, children);
                parentItem.GetChildren = () => parentItem.Instance.Children;
            }

            var templateItem = new ShimTemplateItem();
            var fields = new List<ShimField>();

            onItemCreating(item, templateItem, fields);

            item.TemplateGet = () => templateItem;
            item.FieldsGet = () => CreateFakeFieldCollection(item, fields);

            return item;
        }
Esempio n. 13
0
 public ShimItem CreateFakeItem(ShimItem parentItem, string name)
 {
     return CreateFakeItem(parentItem, name, (i, t, f) =>
     {
     });
 }
Esempio n. 14
0
        ShimFieldCollection CreateFakeFieldCollection(ShimItem item, List<ShimField> fields)
        {
            foreach (var field in fields)
                field.ItemGet = () => item;

            var fieldCollection = new ShimFieldCollection()
            {
                ItemGetString = (fieldName) =>
                {
                    return fields.SingleOrDefault(n => n.Instance.Name.Equals(fieldName, StringComparison.OrdinalIgnoreCase));
                }
            };

            if (!itemFields.ContainsKey(item.Instance.ID))
                itemFields.Add(item.Instance.ID, fields);
            else
                itemFields[item.Instance.ID] = fields;

            fieldCollection.Bind(itemFields[item.Instance.ID]);

            return fieldCollection;
        }