diff --git a/src/Umbraco.Tests.Common/Builders/DictionaryTranslationBuilder.cs b/src/Umbraco.Tests.Common/Builders/DictionaryTranslationBuilder.cs index 6742bf0d97..444afe6ddb 100644 --- a/src/Umbraco.Tests.Common/Builders/DictionaryTranslationBuilder.cs +++ b/src/Umbraco.Tests.Common/Builders/DictionaryTranslationBuilder.cs @@ -20,6 +20,11 @@ namespace Umbraco.Tests.Common.Builders private DateTime? _updateDate; private string _value; + public DictionaryTranslationBuilder() : base(null) + { + _languageBuilder = new LanguageBuilder(this); + } + public DictionaryTranslationBuilder(DictionaryItemBuilder parentBuilder) : base(parentBuilder) { _languageBuilder = new LanguageBuilder(this); diff --git a/src/Umbraco.Tests.Common/Builders/Extensions/BuilderExtensions.cs b/src/Umbraco.Tests.Common/Builders/Extensions/BuilderExtensions.cs index a06e358a08..92acaeca46 100644 --- a/src/Umbraco.Tests.Common/Builders/Extensions/BuilderExtensions.cs +++ b/src/Umbraco.Tests.Common/Builders/Extensions/BuilderExtensions.cs @@ -1,4 +1,5 @@ using System; +using System.Globalization; using Umbraco.Tests.Common.Builders.Interfaces; namespace Umbraco.Tests.Common.Builders.Extensions @@ -192,5 +193,12 @@ namespace Umbraco.Tests.Common.Builders.Extensions builder.IsContainer = isContainer; return builder; } + + public static T WithCultureInfo(this T builder, string name) + where T : IWithCultureInfoBuilder + { + builder.CultureInfo = new CultureInfo(name); + return builder; + } } } diff --git a/src/Umbraco.Tests/Models/DictionaryTranslationTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/Models/DictionaryTranslationTests.cs similarity index 50% rename from src/Umbraco.Tests/Models/DictionaryTranslationTests.cs rename to src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/Models/DictionaryTranslationTests.cs index f7e6f8b283..0badf150b6 100644 --- a/src/Umbraco.Tests/Models/DictionaryTranslationTests.cs +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/Models/DictionaryTranslationTests.cs @@ -1,41 +1,30 @@ -using System; -using System.Diagnostics; +using System.Diagnostics; using System.Linq; using Newtonsoft.Json; using NUnit.Framework; -using Umbraco.Core.Configuration; using Umbraco.Core.Models; -using Umbraco.Core.Serialization; -using Umbraco.Core.Strings; -using Umbraco.Tests.TestHelpers; +using Umbraco.Tests.Common.Builders; +using Umbraco.Tests.Common.Builders.Extensions; -namespace Umbraco.Tests.Models +namespace Umbraco.Tests.UnitTests.Umbraco.Infrastructure.Models { [TestFixture] public class DictionaryTranslationTests { - private IGlobalSettings GlobalSettings { get; } = SettingsForTests.GenerateMockGlobalSettings(); + private DictionaryTranslationBuilder _builder = new DictionaryTranslationBuilder(); + + [SetUp] + public void SetUp() + { + _builder = new DictionaryTranslationBuilder(); + } [Test] public void Can_Deep_Clone() { - var item = new DictionaryTranslation(new Language(GlobalSettings, "en-AU") - { - CreateDate = DateTime.Now, - CultureName = "en", - Id = 11, - IsoCode = "AU", - Key = Guid.NewGuid(), - UpdateDate = DateTime.Now - }, "colour") - { - CreateDate = DateTime.Now, - Id = 88, - Key = Guid.NewGuid(), - UpdateDate = DateTime.Now - }; + var item = BuildDictionaryTranslation(); - var clone = (DictionaryTranslation) item.DeepClone(); + var clone = (DictionaryTranslation)item.DeepClone(); Assert.AreNotSame(clone, item); Assert.AreEqual(clone, item); @@ -53,32 +42,26 @@ namespace Umbraco.Tests.Models //This double verifies by reflection var allProps = clone.GetType().GetProperties(); foreach (var propertyInfo in allProps.Where(x => x.Name != "Language")) - { Assert.AreEqual(propertyInfo.GetValue(clone, null), propertyInfo.GetValue(item, null)); - } } [Test] public void Can_Serialize_Without_Error() { - var item = new DictionaryTranslation(new Language(GlobalSettings, "en-AU") - { - CreateDate = DateTime.Now, - CultureName = "en", - Id = 11, - IsoCode = "AU", - Key = Guid.NewGuid(), - UpdateDate = DateTime.Now - }, "colour") - { - CreateDate = DateTime.Now, - Id = 88, - Key = Guid.NewGuid(), - UpdateDate = DateTime.Now - }; + var item = BuildDictionaryTranslation(); var json = JsonConvert.SerializeObject(item); Debug.Print(json); } + + private IDictionaryTranslation BuildDictionaryTranslation() + { + return _builder + .AddLanguage() + .WithCultureInfo("en-AU") + .Done() + .WithValue("colour") + .Build(); + } } } diff --git a/src/Umbraco.Tests.UnitTests/Umbraco.Tests.Common/Builders/LanguageBuilderTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Tests.Common/Builders/LanguageBuilderTests.cs new file mode 100644 index 0000000000..a6ac5b9a21 --- /dev/null +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Tests.Common/Builders/LanguageBuilderTests.cs @@ -0,0 +1,26 @@ +using NUnit.Framework; +using Umbraco.Tests.Common.Builders; +using Umbraco.Tests.Common.Builders.Extensions; + +namespace Umbraco.Tests.UnitTests.Umbraco.Tests.Common.Builders +{ + [TestFixture] + public class LanguageBuilderTests + { + [Test] + public void Is_Built_Correctly() + { + // Arrange + var builder = new LanguageBuilder(); + + // Act + var language = builder + .WithCultureInfo("en-GB") + .Build(); + + // Assert + Assert.AreEqual("GB", language.IsoCode); + Assert.AreEqual("en", language.CultureName); + } + } +} diff --git a/src/Umbraco.Tests.UnitTests/Umbraco.Tests.Common/Builders/StylesheetBuilderTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Tests.Common/Builders/StylesheetBuilderTests.cs index 33244dff92..727e9a9b13 100644 --- a/src/Umbraco.Tests.UnitTests/Umbraco.Tests.Common/Builders/StylesheetBuilderTests.cs +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Tests.Common/Builders/StylesheetBuilderTests.cs @@ -10,20 +10,20 @@ namespace Umbraco.Tests.UnitTests.Umbraco.Tests.Common.Builders public void Is_Built_Correctly() { // Arrange - const string path = "/css/styles.css"; - const string content = @"body { color:#000; } .bold {font-weight:bold;}"; + const string testPath = "/css/styles.css"; + const string testContent = @"body { color:#000; } .bold {font-weight:bold;}"; var builder = new StylesheetBuilder(); // Act var stylesheet = builder - .WithPath(path) - .WithContent(content) + .WithPath(testPath) + .WithContent(testContent) .Build(); // Assert Assert.AreEqual("\\css\\styles.css", stylesheet.Path); - Assert.AreEqual(content, stylesheet.Content); + Assert.AreEqual(testContent, stylesheet.Content); } } } diff --git a/src/Umbraco.Tests/Umbraco.Tests.csproj b/src/Umbraco.Tests/Umbraco.Tests.csproj index 12ccdfdceb..c8ac034b22 100644 --- a/src/Umbraco.Tests/Umbraco.Tests.csproj +++ b/src/Umbraco.Tests/Umbraco.Tests.csproj @@ -289,7 +289,6 @@ -