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); }
public ShimItem CreateFakeItem(ShimItem parentItem, string name, Action<ShimItem, ShimTemplateItem> onItemCreating) { return CreateFakeItem(parentItem, name, (i, t, f) => { if (onItemCreating != null) onItemCreating(i, t); }); }
public ShimItem CreateFakeItem(ShimItem parentItem, string name, Action<ShimItem, List<ShimField>> onItemCreating) { return CreateFakeItem(parentItem, name, (i, f) => { if (onItemCreating != null) onItemCreating(i, f); }); }
public ShimItem CreateFakeItem(ShimItem parentItem, string name, Action <ShimItem, ShimTemplateItem> onItemCreating) { return(CreateFakeItem(parentItem, name, (i, t, f) => { if (onItemCreating != null) { onItemCreating(i, t); } })); }
public ShimItem CreateFakeItem(ShimItem parentItem, string name, Action <ShimItem, List <ShimField> > onItemCreating) { return(CreateFakeItem(parentItem, name, (i, f) => { if (onItemCreating != null) { onItemCreating(i, f); } })); }
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); }
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; }
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); }
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(); }
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(); }
public ShimItem CreateFakeItem(ShimItem parentItem, string name) { return(CreateFakeItem(parentItem, name, (i, t, f) => { })); }
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; }
public ShimItem CreateFakeItem(ShimItem parentItem, string name) { return CreateFakeItem(parentItem, name, (i, t, f) => { }); }
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; }