From 2b2891b6f483ff9febec60ada1c935368aee372e Mon Sep 17 00:00:00 2001 From: Shannon Date: Fri, 3 Oct 2014 12:51:27 +1000 Subject: [PATCH] Merge branch '7.1.5' of https://github.com/henrikrossen/Umbraco-CMS into henrikrossen-7.1.5 --- src/Umbraco.Core/StringExtensions.cs | 2 +- .../CoreStrings/StringExtensionsTests.cs | 11 ++-- .../Services/ContentServiceTests.cs | 43 ++++++------- .../Services/LocalizationServiceTests.cs | 61 +++++++++++++++++++ 4 files changed, 86 insertions(+), 31 deletions(-) diff --git a/src/Umbraco.Core/StringExtensions.cs b/src/Umbraco.Core/StringExtensions.cs index b192704adb..478d0c7845 100644 --- a/src/Umbraco.Core/StringExtensions.cs +++ b/src/Umbraco.Core/StringExtensions.cs @@ -1125,7 +1125,7 @@ namespace Umbraco.Core /// This is the legacy method, so we can't really change it, although it has issues (see unit tests). /// It does more than "converting the case", and also remove spaces, etc. /// - [Obsolete("This method should be removed. Use CleanString instead.")] + [Obsolete("This method should be removed. Use ToCleanString instead.")] public static string ConvertCase(this string phrase, StringAliasCaseType cases) { var helper = ShortStringHelper; diff --git a/src/Umbraco.Tests/CoreStrings/StringExtensionsTests.cs b/src/Umbraco.Tests/CoreStrings/StringExtensionsTests.cs index e7007fe384..c86ee01100 100644 --- a/src/Umbraco.Tests/CoreStrings/StringExtensionsTests.cs +++ b/src/Umbraco.Tests/CoreStrings/StringExtensionsTests.cs @@ -1,8 +1,5 @@ using System; -using System.Collections.Generic; using System.Globalization; -using System.Security; -using System.Text; using NUnit.Framework; using Umbraco.Core; using Umbraco.Core.Strings; @@ -62,7 +59,7 @@ namespace Umbraco.Tests.CoreStrings for (int j = 0; j < chars.Length; j++) valueToTest += chars[j].ToString(); - var encrypted = valueToTest.ToString().EncryptWithMachineKey(); + var encrypted = valueToTest.EncryptWithMachineKey(); var decrypted = encrypted.DecryptWithMachineKey(); Assert.AreNotEqual(valueToTest, encrypted); Assert.AreEqual(valueToTest, decrypted); @@ -132,14 +129,14 @@ namespace Umbraco.Tests.CoreStrings [Test] public void ToUrlAlias() { - var output = "JUST-ANYTHING".ToUrlAlias(null, false, false, false); + var output = "JUST-ANYTHING".ToUrlSegment(); Assert.AreEqual("URL-SEGMENT::JUST-ANYTHING", output); } [Test] public void FormatUrl() { - var output = "JUST-ANYTHING".FormatUrl(); + var output = "JUST-ANYTHING".ToUrlSegment(); Assert.AreEqual("URL-SEGMENT::JUST-ANYTHING", output); } @@ -195,7 +192,7 @@ namespace Umbraco.Tests.CoreStrings [Test] public void ConvertCase() { - var output = "JUST-ANYTHING".ConvertCase(StringAliasCaseType.Unchanged); + var output = "JUST-ANYTHING".ToCleanString(CleanStringType.Unchanged); Assert.AreEqual("CLEAN-STRING-A::JUST-ANYTHING", output); } diff --git a/src/Umbraco.Tests/Services/ContentServiceTests.cs b/src/Umbraco.Tests/Services/ContentServiceTests.cs index 9e7535b0f3..7766f8a929 100644 --- a/src/Umbraco.Tests/Services/ContentServiceTests.cs +++ b/src/Umbraco.Tests/Services/ContentServiceTests.cs @@ -503,7 +503,7 @@ namespace Umbraco.Tests.Services public void Can_Create_Content_Without_Explicitly_Set_User() { // Arrange - var contentService = ServiceContext.ContentService as ContentService; + var contentService = ServiceContext.ContentService; // Act var content = contentService.CreateContent("Test", -1, "umbTextpage"); @@ -580,7 +580,7 @@ namespace Umbraco.Tests.Services var contentService = ServiceContext.ContentService; // Act - var contents = contentService.GetByLevel(2); + var contents = contentService.GetByLevel(2).ToList(); // Assert Assert.That(contents, Is.Not.Null); @@ -595,7 +595,7 @@ namespace Umbraco.Tests.Services var contentService = ServiceContext.ContentService; // Act - var contents = contentService.GetChildren(NodeDto.NodeIdSeed + 1); + var contents = contentService.GetChildren(NodeDto.NodeIdSeed + 1).ToList(); // Assert Assert.That(contents, Is.Not.Null); @@ -612,7 +612,7 @@ namespace Umbraco.Tests.Services contentService.Save(hierarchy, 0); // Act - var contents = contentService.GetDescendants(NodeDto.NodeIdSeed + 1); + var contents = contentService.GetDescendants(NodeDto.NodeIdSeed + 1).ToList(); // Assert Assert.That(contents, Is.Not.Null); @@ -630,10 +630,10 @@ namespace Umbraco.Tests.Services var subpage2 = contentService.GetById(NodeDto.NodeIdSeed + 3); subpage2.Name = "Text Page 2 Updated"; subpage2.SetValue("author", "Jane Doe"); - contentService.SaveAndPublish(subpage2, 0);//NOTE New versions are only added between publish-state-changed, so publishing to ensure addition version. + contentService.SaveAndPublishWithStatus(subpage2, 0);//NOTE New versions are only added between publish-state-changed, so publishing to ensure addition version. // Act - var versions = contentService.GetVersions(NodeDto.NodeIdSeed + 3); + var versions = contentService.GetVersions(NodeDto.NodeIdSeed + 3).ToList(); // Assert Assert.That(versions.Any(), Is.True); @@ -647,7 +647,7 @@ namespace Umbraco.Tests.Services var contentService = ServiceContext.ContentService; // Act - var contents = contentService.GetRootContent(); + var contents = contentService.GetRootContent().ToList(); // Assert Assert.That(contents, Is.Not.Null); @@ -661,17 +661,16 @@ namespace Umbraco.Tests.Services // Arrange var contentService = ServiceContext.ContentService; var root = contentService.GetById(NodeDto.NodeIdSeed + 1); - contentService.SaveAndPublish(root); + contentService.SaveAndPublishWithStatus(root); var content = contentService.GetById(NodeDto.NodeIdSeed + 3); content.ExpireDate = DateTime.Now.AddSeconds(1); - contentService.SaveAndPublish(content); + contentService.SaveAndPublishWithStatus(content); // Act Thread.Sleep(new TimeSpan(0, 0, 0, 2)); - var contents = contentService.GetContentForExpiration(); + var contents = contentService.GetContentForExpiration().ToList(); // Assert - Assert.That(DateTime.Now.AddMinutes(-5) <= DateTime.Now); Assert.That(contents, Is.Not.Null); Assert.That(contents.Any(), Is.True); Assert.That(contents.Count(), Is.EqualTo(1)); @@ -684,7 +683,7 @@ namespace Umbraco.Tests.Services var contentService = ServiceContext.ContentService; // Act - var contents = contentService.GetContentForRelease(); + var contents = contentService.GetContentForRelease().ToList(); // Assert Assert.That(DateTime.Now.AddMinutes(-5) <= DateTime.Now); @@ -700,7 +699,7 @@ namespace Umbraco.Tests.Services var contentService = ServiceContext.ContentService; // Act - var contents = contentService.GetContentInRecycleBin(); + var contents = contentService.GetContentInRecycleBin().ToList(); // Assert Assert.That(contents, Is.Not.Null); @@ -756,7 +755,7 @@ namespace Umbraco.Tests.Services // Act bool unpublished = contentService.UnPublish(content, 0); - var children = contentService.GetChildren(NodeDto.NodeIdSeed + 1); + var children = contentService.GetChildren(NodeDto.NodeIdSeed + 1).ToList(); // Assert Assert.That(published, Is.True);//Verify that everything was published @@ -777,7 +776,7 @@ namespace Umbraco.Tests.Services { // Arrange var contentService = (ContentService)ServiceContext.ContentService; - var rootContent = contentService.GetRootContent(); + var rootContent = contentService.GetRootContent().ToList(); foreach (var c in rootContent) { contentService.PublishWithChildren(c); @@ -811,12 +810,12 @@ namespace Umbraco.Tests.Services { // Arrange var contentService = (ContentService)ServiceContext.ContentService; - var rootContent = contentService.GetRootContent(); + var rootContent = contentService.GetRootContent().ToList(); foreach (var c in rootContent) { contentService.PublishWithChildren(c); } - var allContent = rootContent.Concat(rootContent.SelectMany(x => x.Descendants())); + var allContent = rootContent.Concat(rootContent.SelectMany(x => x.Descendants())).ToList(); //for testing we need to clear out the contentXml table so we can see if it worked var provider = new PetaPocoUnitOfWorkProvider(); var uow = provider.GetUnitOfWork(); @@ -828,7 +827,6 @@ namespace Umbraco.Tests.Services //that it's published version still makes it into the cmsContentXml table! contentService.Save(allContent.Last()); - // Act contentService.RePublishAll(new int[]{allContent.Last().ContentTypeId}); @@ -1008,7 +1006,7 @@ namespace Umbraco.Tests.Services var savedVersion = content.Version; // Act - var publishedDescendants = ((ContentService) contentService).GetPublishedDescendants(root); + var publishedDescendants = ((ContentService) contentService).GetPublishedDescendants(root).ToList(); // Assert Assert.That(rootPublished, Is.True); @@ -1072,7 +1070,7 @@ namespace Umbraco.Tests.Services { // Arrange var contentService = ServiceContext.ContentService; - var hierarchy = CreateContentHierarchy(); + var hierarchy = CreateContentHierarchy().ToList(); // Act contentService.Save(hierarchy, 0); @@ -1145,7 +1143,7 @@ namespace Umbraco.Tests.Services // Act contentService.MoveToRecycleBin(content, 0); - var descendants = contentService.GetDescendants(content); + var descendants = contentService.GetDescendants(content).ToList(); // Assert Assert.That(content.ParentId, Is.EqualTo(-20)); @@ -1250,7 +1248,7 @@ namespace Umbraco.Tests.Services var nameBeforeRollback = subpage2.Name; subpage2.Name = "Text Page 2 Updated"; subpage2.SetValue("author", "Jane Doe"); - contentService.SaveAndPublish(subpage2, 0);//Saving and publishing, so a new version is created + contentService.SaveAndPublishWithStatus(subpage2, 0);//Saving and publishing, so a new version is created // Act var rollback = contentService.Rollback(NodeDto.NodeIdSeed + 3, version, 0); @@ -1406,7 +1404,6 @@ namespace Umbraco.Tests.Services { Assert.IsTrue(uow.Database.SingleOrDefault("WHERE nodeId=@nodeId AND versionId = @versionId", new{nodeId = content.Id, versionId = content.Version}) != null); } - } private IEnumerable CreateContentHierarchy() diff --git a/src/Umbraco.Tests/Services/LocalizationServiceTests.cs b/src/Umbraco.Tests/Services/LocalizationServiceTests.cs index 0b628d36ea..0d78f56939 100644 --- a/src/Umbraco.Tests/Services/LocalizationServiceTests.cs +++ b/src/Umbraco.Tests/Services/LocalizationServiceTests.cs @@ -223,5 +223,66 @@ namespace Umbraco.Tests.Services _childItemGuidId = childItem.Key; _childItemIntId = childItem.Id; } + + [Test] + public void Find_BaseData_Language() + { + // Arrange + var localizationService = ServiceContext.LocalizationService; + + // Act + var languages = localizationService.GetAllLanguages(); + + // Assert + Assert.That(3, Is.EqualTo(languages.Count())); + } + + [Test] + public void Save_Language_And_GetLanguageByIsoCode() + { + // Arrange + var localizationService = ServiceContext.LocalizationService; + var isoCode = "en-AU"; + var language = new Core.Models.Language(isoCode); + + // Act + localizationService.Save(language); + var result = localizationService.GetLanguageByIsoCode(isoCode); + + // Assert + Assert.NotNull(result); + } + + [Test] + public void Save_Language_And_GetLanguageById() + { + var localizationService = ServiceContext.LocalizationService; + var isoCode = "en-AU"; + var language = new Core.Models.Language(isoCode); + + // Act + localizationService.Save(language); + var result = localizationService.GetLanguageById(language.Id); + + // Assert + Assert.NotNull(result); + } + + [Test] + public void Deleted_Language_Should_Not_Exist() + { + var localizationService = ServiceContext.LocalizationService; + var isoCode = "en-AU"; + var language = new Core.Models.Language(isoCode); + localizationService.Save(language); + + // Act + localizationService.Delete(language); + var result = localizationService.GetLanguageByIsoCode(isoCode); + + // Assert + Assert.Null(result); + } + } } \ No newline at end of file