From ea17af78b226cd36781db7b55fb7a62971076a77 Mon Sep 17 00:00:00 2001 From: "support@subpointsolutions.com" Date: Sun, 14 Jun 2015 19:39:34 +1000 Subject: [PATCH] SPMeta2 1.1.100 release, June 2015 --- SPMeta2.v12.suo | Bin 1806336 -> 1806336 bytes .../DependentLookupFieldModelHandler.cs | 2 +- .../PageViewerWebPartDefinitionGenerator.cs | 3 +- .../PageViewerWebPartDefinitionValidator.cs | 4 +- .../PageViewerWebPartDefinitionValidator.cs | 38 +++++++++++++++++- .../200 - Configure M2 Test Environment.ps1 | 2 +- .../XsltListViewWebPartModelHandler.cs | 3 +- .../Webparts/PageViewerWebPartDefinition.cs | 8 ++++ ...DefaultWebPartChromeTypesConvertService.cs | 2 +- .../WebPartChromeTypesConvertService.cs | 2 +- 10 files changed, 54 insertions(+), 10 deletions(-) diff --git a/SPMeta2.v12.suo b/SPMeta2.v12.suo index 7c9fd4e364fbf7eaaae45cd17cd598e985eb5549..e9856d458097ee2e32e4004bae7db063448fc9a6 100644 GIT binary patch delta 26390 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 delta 19595 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 XuHe;=O1SEF=Z&$+ynJ-*s?7fbP!8;W diff --git a/SPMeta2/SPMeta2.CSOM/ModelHandlers/Fields/DependentLookupFieldModelHandler.cs b/SPMeta2/SPMeta2.CSOM/ModelHandlers/Fields/DependentLookupFieldModelHandler.cs index 9c8b38dda..ea338db1e 100644 --- a/SPMeta2/SPMeta2.CSOM/ModelHandlers/Fields/DependentLookupFieldModelHandler.cs +++ b/SPMeta2/SPMeta2.CSOM/ModelHandlers/Fields/DependentLookupFieldModelHandler.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; -using System.Threading.Tasks; + using Microsoft.SharePoint.Client; using SPMeta2.Common; using SPMeta2.CSOM.Extensions; diff --git a/SPMeta2/SPMeta2.Containers/DefinitionGenerators/Webparts/PageViewerWebPartDefinitionGenerator.cs b/SPMeta2/SPMeta2.Containers/DefinitionGenerators/Webparts/PageViewerWebPartDefinitionGenerator.cs index ff79ea6b6..612e7bafd 100644 --- a/SPMeta2/SPMeta2.Containers/DefinitionGenerators/Webparts/PageViewerWebPartDefinitionGenerator.cs +++ b/SPMeta2/SPMeta2.Containers/DefinitionGenerators/Webparts/PageViewerWebPartDefinitionGenerator.cs @@ -1,5 +1,6 @@ using System; using System.Text; +using SPMeta2.Containers.Services; using SPMeta2.Containers.Services.Base; using SPMeta2.Definitions; using SPMeta2.Definitions.Base; @@ -19,7 +20,7 @@ public override DefinitionBase GenerateRandomDefinition(Action a def.ZoneId = "FullPage"; def.ZoneIndex = Rnd.Int(100); - // TODO + def.ContentLink = Rnd.HttpUrl(); }); } } diff --git a/SPMeta2/SPMeta2.Regression.CSOM/Validation/Webparts/PageViewerWebPartDefinitionValidator.cs b/SPMeta2/SPMeta2.Regression.CSOM/Validation/Webparts/PageViewerWebPartDefinitionValidator.cs index e6cbb7324..dbb9e9ecc 100644 --- a/SPMeta2/SPMeta2.Regression.CSOM/Validation/Webparts/PageViewerWebPartDefinitionValidator.cs +++ b/SPMeta2/SPMeta2.Regression.CSOM/Validation/Webparts/PageViewerWebPartDefinitionValidator.cs @@ -35,7 +35,7 @@ public override void DeployModel(object modelHost, DefinitionBase model) if (!string.IsNullOrEmpty(definition.ContentLink)) { - var value = CurrentWebPartXml.GetProperty("ContentLink"); + var value = CurrentWebPartXml.GetPageViewerWebPartProperty("ContentLink"); assert.ShouldBeEqual((p, s, d) => { @@ -58,7 +58,7 @@ public override void DeployModel(object modelHost, DefinitionBase model) if (!string.IsNullOrEmpty(definition.SourceType)) { - var value = CurrentWebPartXml.GetProperty("SourceType"); + var value = CurrentWebPartXml.GetPageViewerWebPartProperty("SourceType"); assert.ShouldBeEqual((p, s, d) => { diff --git a/SPMeta2/SPMeta2.Regression.SSOM/Validation/Webparts/PageViewerWebPartDefinitionValidator.cs b/SPMeta2/SPMeta2.Regression.SSOM/Validation/Webparts/PageViewerWebPartDefinitionValidator.cs index 74eb0f734..5683cbf24 100644 --- a/SPMeta2/SPMeta2.Regression.SSOM/Validation/Webparts/PageViewerWebPartDefinitionValidator.cs +++ b/SPMeta2/SPMeta2.Regression.SSOM/Validation/Webparts/PageViewerWebPartDefinitionValidator.cs @@ -2,10 +2,13 @@ using System.Collections.Generic; using System.Linq; using System.Text; - +using Microsoft.SharePoint.WebPartPages; using SPMeta2.Definitions; using SPMeta2.Definitions.Base; using SPMeta2.Definitions.Webparts; +using SPMeta2.SSOM.Extensions; +using SPMeta2.SSOM.ModelHosts; +using SPMeta2.Utils; namespace SPMeta2.Regression.SSOM.Validation.Webparts { @@ -27,10 +30,41 @@ public override void DeployModel(object modelHost, DefinitionBase model) // base validation base.DeployModel(modelHost, model); + // web specific validation + var host = modelHost.WithAssertAndCast("modelHost", value => value.RequireNotNull()); + var definition = model.WithAssertAndCast("model", value => value.RequireNotNull()); + + var item = host.PageListItem; + + WebPartExtensions.WithExistingWebPart(item, definition, (spWebPartManager, spObject) => + { + var web = spWebPartManager.Web; + var typedObject = spObject as PageViewerWebPart; + + var assert = ServiceFactory.AssertService + .NewAssert(definition, typedObject) + .ShouldNotBeNull(typedObject); + + if (!string.IsNullOrEmpty(definition.ContentLink)) + assert.ShouldBeEqual(m => m.ContentLink, o => o.ContentLink); + else + assert.SkipProperty(m => m.ContentLink); - // content editor specific validation + if (!string.IsNullOrEmpty(definition.SourceType)) + assert.ShouldBeEqual(m => m.SourceType, o => o.GetSourceType()); + else + assert.SkipProperty(m => m.SourceType); + }); } #endregion } + + internal static class PageViewerWebPartExtensions + { + public static string GetSourceType(this PageViewerWebPart wp) + { + return wp.SourceType.ToString(); + } + } } diff --git a/SPMeta2/SPMeta2.Regression.Tests/PSScripts/200 - Configure M2 Test Environment.ps1 b/SPMeta2/SPMeta2.Regression.Tests/PSScripts/200 - Configure M2 Test Environment.ps1 index a0a4e408f..a3c3c7c58 100644 --- a/SPMeta2/SPMeta2.Regression.Tests/PSScripts/200 - Configure M2 Test Environment.ps1 +++ b/SPMeta2/SPMeta2.Regression.Tests/PSScripts/200 - Configure M2 Test Environment.ps1 @@ -6,5 +6,5 @@ M2ShowSettings $g_M2TestEnvironment # CSOM, SSOM, O365 SetupSPMeta2RegressionTestEnvironment "SSOM" -SetupSPMeta2RegressionTestEnvironment "CSOM" +#SetupSPMeta2RegressionTestEnvironment "CSOM" #SetupSPMeta2RegressionTestEnvironment "O365" \ No newline at end of file diff --git a/SPMeta2/SPMeta2.SSOM/ModelHandlers/Webparts/XsltListViewWebPartModelHandler.cs b/SPMeta2/SPMeta2.SSOM/ModelHandlers/Webparts/XsltListViewWebPartModelHandler.cs index 222de2011..855975b5e 100644 --- a/SPMeta2/SPMeta2.SSOM/ModelHandlers/Webparts/XsltListViewWebPartModelHandler.cs +++ b/SPMeta2/SPMeta2.SSOM/ModelHandlers/Webparts/XsltListViewWebPartModelHandler.cs @@ -170,6 +170,7 @@ protected override void ProcessWebpartProperties(WebPart webpartInstance, WebPar if (typedModel.DisableColumnFiltering.HasValue) typedWebpart.DisableColumnFiltering = typedModel.DisableColumnFiltering.Value; +#if !NET35 if (typedModel.DisableSaveAsNewViewButton.HasValue) typedWebpart.DisableSaveAsNewViewButton = typedModel.DisableSaveAsNewViewButton.Value; @@ -178,7 +179,7 @@ protected override void ProcessWebpartProperties(WebPart webpartInstance, WebPar if (typedModel.InplaceSearchEnabled.HasValue) typedWebpart.InplaceSearchEnabled = typedModel.InplaceSearchEnabled.Value; - +#endif } #endregion diff --git a/SPMeta2/SPMeta2/Definitions/Webparts/PageViewerWebPartDefinition.cs b/SPMeta2/SPMeta2/Definitions/Webparts/PageViewerWebPartDefinition.cs index 16b0ca23c..827b1a39c 100644 --- a/SPMeta2/SPMeta2/Definitions/Webparts/PageViewerWebPartDefinition.cs +++ b/SPMeta2/SPMeta2/Definitions/Webparts/PageViewerWebPartDefinition.cs @@ -24,14 +24,22 @@ namespace SPMeta2.Definitions.Webparts [DataContract] public class PageViewerWebPartDefinition : WebPartDefinition { + #region constructors + + + #endregion + #region properties [ExpectValidation] [DataMember] + [ExpectNullable] + [ExpectUpdateAsUrl] public string ContentLink { get; set; } [ExpectValidation] [DataMember] + [ExpectNullable] public string SourceType { get; set; } #endregion diff --git a/SPMeta2/SPMeta2/Services/Impl/DefaultWebPartChromeTypesConvertService.cs b/SPMeta2/SPMeta2/Services/Impl/DefaultWebPartChromeTypesConvertService.cs index 7714bdcd1..56fcc5e5a 100644 --- a/SPMeta2/SPMeta2/Services/Impl/DefaultWebPartChromeTypesConvertService.cs +++ b/SPMeta2/SPMeta2/Services/Impl/DefaultWebPartChromeTypesConvertService.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; -using System.Threading.Tasks; + namespace SPMeta2.Services.Impl { diff --git a/SPMeta2/SPMeta2/Services/WebPartChromeTypesConvertService.cs b/SPMeta2/SPMeta2/Services/WebPartChromeTypesConvertService.cs index a7b4d06d9..7776c7cc3 100644 --- a/SPMeta2/SPMeta2/Services/WebPartChromeTypesConvertService.cs +++ b/SPMeta2/SPMeta2/Services/WebPartChromeTypesConvertService.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; -using System.Threading.Tasks; + namespace SPMeta2.Services {