diff --git a/src/Umbraco.Tests/Services/Importing/CheckboxList-Content-Package.xml b/src/Umbraco.Tests/Services/Importing/CheckboxList-Content-Package.xml
new file mode 100644
index 0000000000..a0f4448393
--- /dev/null
+++ b/src/Umbraco.Tests/Services/Importing/CheckboxList-Content-Package.xml
@@ -0,0 +1,76 @@
+
+
+
+
+
+ CheckboxListTest
+ 1
+ MIT license
+ 1
+
+ 3
+ 0
+ 0
+
+
+
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+ NewType
+ NewType
+ .sprTreeFolder
+ folder.png
+
+
+ True
+
+ NewType
+
+ NewType
+
+
+
+
+ testList
+ testList
+ b4471851-82b6-4c75-afa4-39fa9c6a75e9
+ 8dacee1a-1bbd-46c0-b07f-8ffd49fcca7c
+
+
+ False
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Umbraco.Tests/Services/Importing/ImportResources.Designer.cs b/src/Umbraco.Tests/Services/Importing/ImportResources.Designer.cs
index f4874b86f2..9b0017ff5e 100644
--- a/src/Umbraco.Tests/Services/Importing/ImportResources.Designer.cs
+++ b/src/Umbraco.Tests/Services/Importing/ImportResources.Designer.cs
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
//
// This code was generated by a tool.
-// Runtime Version:4.0.30319.18033
+// Runtime Version:4.0.30319.18213
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -60,6 +60,34 @@ namespace Umbraco.Tests.Services.Importing {
}
}
+ ///
+ /// Looks up a localized string similar to <?xml version="1.0" encoding="UTF-8" standalone="no"?>
+ ///<umbPackage>
+ /// <files />
+ /// <info>
+ /// <package>
+ /// <name>CheckboxListTest</name>
+ /// <version>1</version>
+ /// <license url="http://www.opensource.org/licenses/mit-license.php">MIT license</license>
+ /// <url>1</url>
+ /// <requirements>
+ /// <major>3</major>
+ /// <minor>0</minor>
+ /// <patch>0</patch>
+ /// </requirements>
+ /// </package>
+ /// <author>
+ /// <name>1</name>
+ /// <website>1</website>
+ /// </author>
+ /// <r [rest of string was truncated]";.
+ ///
+ internal static string CheckboxList_Content_Package {
+ get {
+ return ResourceManager.GetString("CheckboxList_Content_Package", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to <?xml version="1.0" encoding="UTF-8" standalone="no"?>
///<umbPackage>
diff --git a/src/Umbraco.Tests/Services/Importing/ImportResources.resx b/src/Umbraco.Tests/Services/Importing/ImportResources.resx
index b717a9600d..26f4589221 100644
--- a/src/Umbraco.Tests/Services/Importing/ImportResources.resx
+++ b/src/Umbraco.Tests/Services/Importing/ImportResources.resx
@@ -139,4 +139,7 @@
templateonly-updated-package.xml;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8
+
+ checkboxlist-content-package.xml;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8
+
\ No newline at end of file
diff --git a/src/Umbraco.Tests/Services/Importing/PackageImportTests.cs b/src/Umbraco.Tests/Services/Importing/PackageImportTests.cs
index 1fbfa01067..fa11f2aa78 100644
--- a/src/Umbraco.Tests/Services/Importing/PackageImportTests.cs
+++ b/src/Umbraco.Tests/Services/Importing/PackageImportTests.cs
@@ -1,6 +1,9 @@
-using System.Linq;
+using System.Collections.Generic;
+using System.Linq;
using System.Xml.Linq;
using NUnit.Framework;
+using Umbraco.Core.Models.Rdbms;
+using umbraco.editorControls.MultiNodeTreePicker;
namespace Umbraco.Tests.Services.Importing
{
@@ -213,6 +216,42 @@ namespace Umbraco.Tests.Services.Importing
Assert.That(contents.Count(), Is.EqualTo(numberOfDocs));
}
+ [Test]
+ public void PackagingService_Can_Import_CheckboxList_Content_Package_Xml()
+ {
+ // Arrange
+ string strXml = ImportResources.CheckboxList_Content_Package;
+ var xml = XElement.Parse(strXml);
+ var dataTypeElement = xml.Descendants("DataTypes").First();
+ var docTypesElement = xml.Descendants("DocumentTypes").First();
+ var element = xml.Descendants("DocumentSet").First();
+ var packagingService = ServiceContext.PackagingService;
+
+ // Act
+ var dataTypeDefinitions = packagingService.ImportDataTypeDefinitions(dataTypeElement);
+ var contentTypes = packagingService.ImportContentTypes(docTypesElement);
+ var contents = packagingService.ImportContent(element);
+ var numberOfDocs = (from doc in element.Descendants()
+ where (string) doc.Attribute("isDoc") == ""
+ select doc).Count();
+
+ var database = ApplicationContext.DatabaseContext.Database;
+ var dtos = database.Fetch("WHERE datatypeNodeId = @Id", new { dataTypeDefinitions.First().Id });
+ int preValueId;
+ int.TryParse(contents.First().GetValue("testList"), out preValueId);
+ var preValueKey = dtos.SingleOrDefault(x => x.Id == preValueId);
+
+ // Assert
+ Assert.That(dataTypeDefinitions, Is.Not.Null);
+ Assert.That(dataTypeDefinitions.Any(), Is.True);
+ Assert.That(contents, Is.Not.Null);
+ Assert.That(contentTypes.Any(), Is.True);
+ Assert.That(contents.Any(), Is.True);
+ Assert.That(contents.Count(), Is.EqualTo(numberOfDocs));
+ Assert.That(preValueKey, Is.Not.Null);
+ Assert.That(preValueKey.Value, Is.EqualTo("test3"));
+ }
+
[Test]
public void PackagingService_Can_Import_Templates_Package_Xml_With_Invalid_Master()
{
diff --git a/src/Umbraco.Tests/Umbraco.Tests.csproj b/src/Umbraco.Tests/Umbraco.Tests.csproj
index 37b33cf460..d9b9b857b1 100644
--- a/src/Umbraco.Tests/Umbraco.Tests.csproj
+++ b/src/Umbraco.Tests/Umbraco.Tests.csproj
@@ -506,6 +506,9 @@
+
+ Designer
+