From dc000ea33ce5c67ee28cc2aa864eda41bc3b92ae Mon Sep 17 00:00:00 2001 From: Shannon Deminick Date: Thu, 20 Sep 2012 03:47:24 +0700 Subject: [PATCH] Update to DefaultPublishedMediaStore, changed namespace for some unit tests. --- .../PublishContentStoreTests.cs | 0 .../ContentStores/PublishMediaStoreTests.cs | 42 +++++++++++++++++++ .../{ => Resolvers}/ActionsResolverTests.cs | 2 +- .../MacroFieldEditorsResolverTests.cs | 3 +- .../ManyObjectResolverTests.cs | 2 +- .../PackageActionsResolverTests.cs | 3 +- src/Umbraco.Tests/Umbraco.Tests.csproj | 11 ++--- src/Umbraco.Web/DefaultPublishedMediaStore.cs | 20 +++++++-- 8 files changed, 68 insertions(+), 15 deletions(-) rename src/Umbraco.Tests/{ => ContentStores}/PublishContentStoreTests.cs (100%) create mode 100644 src/Umbraco.Tests/ContentStores/PublishMediaStoreTests.cs rename src/Umbraco.Tests/{ => Resolvers}/ActionsResolverTests.cs (92%) rename src/Umbraco.Tests/{ => Resolvers}/MacroFieldEditorsResolverTests.cs (91%) rename src/Umbraco.Tests/{ => Resolvers}/ManyObjectResolverTests.cs (94%) rename src/Umbraco.Tests/{ => Resolvers}/PackageActionsResolverTests.cs (92%) diff --git a/src/Umbraco.Tests/PublishContentStoreTests.cs b/src/Umbraco.Tests/ContentStores/PublishContentStoreTests.cs similarity index 100% rename from src/Umbraco.Tests/PublishContentStoreTests.cs rename to src/Umbraco.Tests/ContentStores/PublishContentStoreTests.cs diff --git a/src/Umbraco.Tests/ContentStores/PublishMediaStoreTests.cs b/src/Umbraco.Tests/ContentStores/PublishMediaStoreTests.cs new file mode 100644 index 0000000000..290714dc00 --- /dev/null +++ b/src/Umbraco.Tests/ContentStores/PublishMediaStoreTests.cs @@ -0,0 +1,42 @@ +using System; +using System.Collections.Generic; +using NUnit.Framework; +using Umbraco.Core.Models; +using Umbraco.Web; + +namespace Umbraco.Tests +{ + [TestFixture] + public class PublishMediaStoreTests + { + [Test] + public void Test_DictionaryDocument() + { + Func> getDictionary = i => new Dictionary() + { + {"id", i.ToString()}, + {"template", "testTemplate"}, + {"sortOrder", "44"}, + {"nodeName", "Testing"}, + {"urlName", "testing"}, + {"nodeTypeAlias", "myType"}, + {"nodeType", "22"}, + {"writerName", "Shannon"}, + {"creatorName", "Shannon"}, + {"writerID", "33"}, + {"creatorID", "33"}, + {"path", "1,2,3,4,5"}, + {"createDate", "2012-01-02"}, + {"level", "3"} + }; + + var dicDoc = new DefaultPublishedMediaStore.DictionaryDocument( + getDictionary(1234), + d => new DefaultPublishedMediaStore.DictionaryDocument( + getDictionary(321), + a => null, + a => new List()), + d => new List()); + } + } +} \ No newline at end of file diff --git a/src/Umbraco.Tests/ActionsResolverTests.cs b/src/Umbraco.Tests/Resolvers/ActionsResolverTests.cs similarity index 92% rename from src/Umbraco.Tests/ActionsResolverTests.cs rename to src/Umbraco.Tests/Resolvers/ActionsResolverTests.cs index b7c1aea56c..d9bd05c7ce 100644 --- a/src/Umbraco.Tests/ActionsResolverTests.cs +++ b/src/Umbraco.Tests/Resolvers/ActionsResolverTests.cs @@ -6,7 +6,7 @@ using Umbraco.Tests.TestHelpers; using umbraco.BasePages; using umbraco.interfaces; -namespace Umbraco.Tests +namespace Umbraco.Tests.Resolvers { [TestFixture] diff --git a/src/Umbraco.Tests/MacroFieldEditorsResolverTests.cs b/src/Umbraco.Tests/Resolvers/MacroFieldEditorsResolverTests.cs similarity index 91% rename from src/Umbraco.Tests/MacroFieldEditorsResolverTests.cs rename to src/Umbraco.Tests/Resolvers/MacroFieldEditorsResolverTests.cs index 90f7710ed4..eff9f82b53 100644 --- a/src/Umbraco.Tests/MacroFieldEditorsResolverTests.cs +++ b/src/Umbraco.Tests/Resolvers/MacroFieldEditorsResolverTests.cs @@ -5,10 +5,9 @@ using NUnit.Framework; using Umbraco.Core; using Umbraco.Core.ObjectResolution; using Umbraco.Tests.TestHelpers; -using umbraco.editorControls.macrocontainer; using umbraco.interfaces; -namespace Umbraco.Tests +namespace Umbraco.Tests.Resolvers { [TestFixture] public class MacroFieldEditorsResolverTests diff --git a/src/Umbraco.Tests/ManyObjectResolverTests.cs b/src/Umbraco.Tests/Resolvers/ManyObjectResolverTests.cs similarity index 94% rename from src/Umbraco.Tests/ManyObjectResolverTests.cs rename to src/Umbraco.Tests/Resolvers/ManyObjectResolverTests.cs index 52a6c61676..53ca92e486 100644 --- a/src/Umbraco.Tests/ManyObjectResolverTests.cs +++ b/src/Umbraco.Tests/Resolvers/ManyObjectResolverTests.cs @@ -5,7 +5,7 @@ using NUnit.Framework; using Umbraco.Core.ObjectResolution; using Umbraco.Tests.TestHelpers; -namespace Umbraco.Tests +namespace Umbraco.Tests.Resolvers { [TestFixture] public class ManyObjectResolverTests diff --git a/src/Umbraco.Tests/PackageActionsResolverTests.cs b/src/Umbraco.Tests/Resolvers/PackageActionsResolverTests.cs similarity index 92% rename from src/Umbraco.Tests/PackageActionsResolverTests.cs rename to src/Umbraco.Tests/Resolvers/PackageActionsResolverTests.cs index 82f7381267..b126fde180 100644 --- a/src/Umbraco.Tests/PackageActionsResolverTests.cs +++ b/src/Umbraco.Tests/Resolvers/PackageActionsResolverTests.cs @@ -5,10 +5,9 @@ using NUnit.Framework; using Umbraco.Core; using Umbraco.Core.ObjectResolution; using Umbraco.Tests.TestHelpers; -using umbraco.cms.businesslogic.packager; using umbraco.interfaces; -namespace Umbraco.Tests +namespace Umbraco.Tests.Resolvers { [TestFixture] public class PackageActionsResolverTests diff --git a/src/Umbraco.Tests/Umbraco.Tests.csproj b/src/Umbraco.Tests/Umbraco.Tests.csproj index df298ce99c..f57aff8cf9 100644 --- a/src/Umbraco.Tests/Umbraco.Tests.csproj +++ b/src/Umbraco.Tests/Umbraco.Tests.csproj @@ -52,7 +52,8 @@ - + + @@ -63,7 +64,7 @@ - + @@ -78,11 +79,11 @@ - + - + - + diff --git a/src/Umbraco.Web/DefaultPublishedMediaStore.cs b/src/Umbraco.Web/DefaultPublishedMediaStore.cs index 0a5a3f853c..9eac930d55 100644 --- a/src/Umbraco.Web/DefaultPublishedMediaStore.cs +++ b/src/Umbraco.Web/DefaultPublishedMediaStore.cs @@ -107,7 +107,10 @@ namespace Umbraco.Web } } - return new DictionaryDocument(values, d => d.ParentId.HasValue ? GetUmbracoMedia(d.ParentId.Value) : null); + return new DictionaryDocument(values, + d => d.ParentId.HasValue ? GetUmbracoMedia(d.ParentId.Value) : null, + //TODO: Fix this! + d => Enumerable.Empty()); } /// @@ -122,13 +125,17 @@ namespace Umbraco.Web //TODO: Unit test this! - public DictionaryDocument(IDictionary valueDictionary, Func getParent) + public DictionaryDocument( + IDictionary valueDictionary, + Func getParent, + Func> getChildren) { if (valueDictionary == null) throw new ArgumentNullException("valueDictionary"); if (getParent == null) throw new ArgumentNullException("getParent"); _getParent = getParent; - + _getChildren = getChildren; + ValidateAndSetProperty(valueDictionary, val => Id = int.Parse(val), "id", "nodeId", "__NodeId"); //should validate the int! ValidateAndSetProperty(valueDictionary, val => TemplateId = int.Parse(val), "template", "templateId"); ValidateAndSetProperty(valueDictionary, val => SortOrder = int.Parse(val), "sortOrder"); @@ -166,6 +173,8 @@ namespace Umbraco.Web } private readonly Func _getParent; + private readonly Func> _getChildren; + public IDocument Parent { get { return _getParent(this); } @@ -189,7 +198,10 @@ namespace Umbraco.Web public Guid Version { get; private set; } public int Level { get; private set; } public Collection Properties { get; private set; } - public IEnumerable Children { get; private set; } + public IEnumerable Children + { + get { return _getChildren(this); } + } private readonly List _keysAdded = new List(); private void ValidateAndSetProperty(IDictionary valueDictionary, Action setProperty, params string[] potentialKeys)