public void CanDeploy_ModuleFile_With_RequiredFieldValues() { var requiredText = RItemValues.GetRequiredTextField(ModelGeneratorService); var text1 = RItemValues.GetRandomTextField(ModelGeneratorService); var text2 = RItemValues.GetRandomTextField(ModelGeneratorService); var contentTypeDef = ModelGeneratorService.GetRandomDefinition <ContentTypeDefinition>(def => { def.ParentContentTypeId = BuiltInContentTypeId.Item; }); var itemDef = ModelGeneratorService.GetRandomDefinition <ModuleFileDefinition>(def => { def.Title = Rnd.String(); def.ContentTypeName = contentTypeDef.Name; def.DefaultValues.Add(new FieldValue() { FieldName = requiredText.InternalName, Value = Rnd.String() }); def.Values.Add(new FieldValue() { FieldName = text1.InternalName, Value = Rnd.String() }); def.Values.Add(new FieldValue() { FieldName = text2.InternalName, Value = Rnd.String() }); }); var listDef = ModelGeneratorService.GetRandomDefinition <ListDefinition>(def => { def.ContentTypesEnabled = true; def.TemplateType = BuiltInListTemplateTypeId.DocumentLibrary; }); var siteModel = SPMeta2Model.NewSiteModel(site => { site.AddField(requiredText); site.AddField(text1); site.AddField(text2); site.AddContentType(contentTypeDef, contentType => { contentType.AddContentTypeFieldLink(requiredText); contentType.AddContentTypeFieldLink(text1); contentType.AddContentTypeFieldLink(text2); }); }); var webModel = SPMeta2Model.NewWebModel(web => { web.AddList(listDef, list => { list.AddContentTypeLink(contentTypeDef); list.AddModuleFile(itemDef); }); }); TestModel(siteModel, webModel); }
public void CanDeploy_Default_PublishingPage_With_RequiredFieldValues() { var siteFeature = BuiltInSiteFeatures.SharePointServerPublishingInfrastructure.Inherit(f => f.Enable()); var webFeature = BuiltInWebFeatures.SharePointServerPublishing.Inherit(f => f.Enable()); var publishingPageLayoutContentType = ModelGeneratorService.GetRandomDefinition <ContentTypeDefinition>(def => { def.Name = string.Format("Required - {0}", Environment.TickCount); def.Hidden = false; def.ParentContentTypeId = BuiltInPublishingContentTypeId.ArticlePage; }); var requiredText = RItemValues.GetRequiredTextField(ModelGeneratorService); var text1 = RItemValues.GetRandomTextField(ModelGeneratorService); var text2 = RItemValues.GetRandomTextField(ModelGeneratorService); var publishingPageLayout = ModelGeneratorService.GetRandomDefinition <PublishingPageLayoutDefinition>(def => { def.AssociatedContentTypeId = publishingPageLayoutContentType.GetContentTypeId(); }); var page = ModelGeneratorService.GetRandomDefinition <PublishingPageDefinition>(def => { def.PageLayoutFileName = publishingPageLayout.FileName; def.DefaultValues.Add(new FieldValue() { FieldName = requiredText.InternalName, Value = Rnd.String() }); def.Values.Add(new FieldValue() { FieldName = text1.InternalName, Value = Rnd.String() }); def.Values.Add(new FieldValue() { FieldName = text2.InternalName, Value = Rnd.String() }); }); var siteModel = SPMeta2Model.NewSiteModel(site => { site.AddSiteFeature(siteFeature); site.AddField(requiredText); site.AddField(text1); site.AddField(text2); site.AddContentType(publishingPageLayoutContentType, contentType => { contentType.AddContentTypeFieldLink(requiredText); contentType.AddContentTypeFieldLink(text1); contentType.AddContentTypeFieldLink(text2); }); }); var webModel = SPMeta2Model.NewWebModel(web => { web.AddWebFeature(webFeature); web.AddHostList(BuiltInListDefinitions.Catalogs.MasterPage, list => { list.AddPublishingPageLayout(publishingPageLayout); }); web.AddHostList(BuiltInListDefinitions.Pages, list => { list.AddContentTypeLink(publishingPageLayoutContentType); list.AddPublishingPage(page); }); }); TestModels(new ModelNode[] { siteModel, webModel }); }