public static PageTypeAttribute CreatePageTypeAttributeWithEverythingSpeficied(InMemoryContext syncContext) { var guid = Guid.NewGuid(); var pageTypeAttribute = new PageTypeAttribute(guid.ToString()); var anotherPageTypeClass = syncContext.CreateAndAddPageTypeClassToAppDomain(type => { }); var existingPageType = syncContext.PageTypeRepository.CreateNew(); existingPageType.Name = anotherPageTypeClass.Name; syncContext.PageTypeRepository.Save(existingPageType); syncContext.PageTypeResolver.AddPageType(existingPageType.ID, anotherPageTypeClass); var availablePageTypes = new[] { anotherPageTypeClass }; pageTypeAttribute.AvailablePageTypes = availablePageTypes; pageTypeAttribute.AvailableInEditMode = false; pageTypeAttribute.Description = "A description"; pageTypeAttribute.SortOrder = 123; pageTypeAttribute.DefaultArchiveToPageID = 567; pageTypeAttribute.DefaultPageName = "Default page name"; pageTypeAttribute.DefaultStartPublishOffsetMinutes = 1234; pageTypeAttribute.DefaultStopPublishOffsetMinutes = 12345; pageTypeAttribute.DefaultVisibleInMenu = false; pageTypeAttribute.DefaultChildSortOrder = FilterSortOrder.Alphabetical; pageTypeAttribute.DefaultSortIndex = 345; pageTypeAttribute.DefaultFrameID = 1; pageTypeAttribute.Filename = "~/TemplateForThePageType.aspx"; pageTypeAttribute.Name = "Page type name"; return pageTypeAttribute; }