diff --git a/src/Umbraco.Tests/TestHelpers/Entities/MockedMedia.cs b/src/Umbraco.Tests.Common/TestHelpers/Entities/MockedMedia.cs similarity index 100% rename from src/Umbraco.Tests/TestHelpers/Entities/MockedMedia.cs rename to src/Umbraco.Tests.Common/TestHelpers/Entities/MockedMedia.cs diff --git a/src/Umbraco.Tests/TestHelpers/Entities/MockedMember.cs b/src/Umbraco.Tests.Common/TestHelpers/Entities/MockedMember.cs similarity index 98% rename from src/Umbraco.Tests/TestHelpers/Entities/MockedMember.cs rename to src/Umbraco.Tests.Common/TestHelpers/Entities/MockedMember.cs index b721b508ba..e6916d7de7 100644 --- a/src/Umbraco.Tests/TestHelpers/Entities/MockedMember.cs +++ b/src/Umbraco.Tests.Common/TestHelpers/Entities/MockedMember.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using Umbraco.Core.Models; -using Umbraco.Core.Models.Membership; namespace Umbraco.Tests.TestHelpers.Entities { diff --git a/src/Umbraco.Tests/TestHelpers/Entities/MockedUserGroup.cs b/src/Umbraco.Tests.Common/TestHelpers/Entities/MockedUserGroup.cs similarity index 67% rename from src/Umbraco.Tests/TestHelpers/Entities/MockedUserGroup.cs rename to src/Umbraco.Tests.Common/TestHelpers/Entities/MockedUserGroup.cs index ce3852c540..0285005a84 100644 --- a/src/Umbraco.Tests/TestHelpers/Entities/MockedUserGroup.cs +++ b/src/Umbraco.Tests.Common/TestHelpers/Entities/MockedUserGroup.cs @@ -1,12 +1,16 @@ using Umbraco.Core.Models.Membership; +using Umbraco.Core.Strings; namespace Umbraco.Tests.TestHelpers.Entities { public class MockedUserGroup { - internal static UserGroup CreateUserGroup(string suffix = "", string[] permissions = null, string[] allowedSections = null) + public static IShortStringHelper ShortStringHelper { get; } = + new DefaultShortStringHelper(new DefaultShortStringHelperConfig()); + + public static UserGroup CreateUserGroup(string suffix = "", string[] permissions = null, string[] allowedSections = null) { - var group = new UserGroup(TestHelper.ShortStringHelper) + var group = new UserGroup(ShortStringHelper) { Alias = "testUserGroup" + suffix, Name = "TestUserGroup" + suffix, diff --git a/src/Umbraco.Tests.Integration/Extensions/ApplicationBuilderExtensions.cs b/src/Umbraco.Tests.Integration/Extensions/ApplicationBuilderExtensions.cs index 0d1d373262..96ac3d603c 100644 --- a/src/Umbraco.Tests.Integration/Extensions/ApplicationBuilderExtensions.cs +++ b/src/Umbraco.Tests.Integration/Extensions/ApplicationBuilderExtensions.cs @@ -101,10 +101,11 @@ namespace Umbraco.Tests.Integration.Extensions break; case UmbracoTestOptions.Database.NewSchemaPerFixture: - throw new NotImplementedException(); + // New DB + Schema + var newSchemaFixtureDbId = db.AttachSchema(); - //// Add teardown callback - //integrationTest.OnFixtureTearDown(() => db.Detach()); + // Add teardown callback + integrationTest.OnFixtureTearDown(() => db.Detach(newSchemaFixtureDbId)); break; case UmbracoTestOptions.Database.NewEmptyPerFixture: diff --git a/src/Umbraco.Tests/Persistence/Repositories/DictionaryRepositoryTest.cs b/src/Umbraco.Tests.Integration/Persistence/Repositories/DictionaryRepositoryTest.cs similarity index 77% rename from src/Umbraco.Tests/Persistence/Repositories/DictionaryRepositoryTest.cs rename to src/Umbraco.Tests.Integration/Persistence/Repositories/DictionaryRepositoryTest.cs index fb9a4d2772..be9a0ce5ed 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/DictionaryRepositoryTest.cs +++ b/src/Umbraco.Tests.Integration/Persistence/Repositories/DictionaryRepositoryTest.cs @@ -4,43 +4,42 @@ using System.Linq; using NUnit.Framework; using Umbraco.Core.Models; using Umbraco.Core.Persistence.Repositories; -using Umbraco.Tests.TestHelpers; -using Umbraco.Tests.Testing; -using Umbraco.Core; -using Umbraco.Core.Composing; +using Umbraco.Core.Services; using Umbraco.Tests.Common.Builders; +using Umbraco.Tests.Integration.Testing; +using Umbraco.Tests.Testing; -namespace Umbraco.Tests.Persistence.Repositories +namespace Umbraco.Tests.Integration.Persistence.Repositories { [TestFixture] [UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest)] - public class DictionaryRepositoryTest : TestWithDatabaseBase + public class DictionaryRepositoryTest : UmbracoIntegrationTest { - public override void SetUp() + [SetUp] + public void SetUp() { - base.SetUp(); - CreateTestData(); } private IDictionaryRepository CreateRepository() { - return Factory.GetInstance(); + return GetRequiredService(); } [Test] public void Can_Perform_Get_By_Key_On_DictionaryRepository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var localizationService = GetRequiredService(); + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(); var dictionaryItem = (IDictionaryItem)new DictionaryItem("Testing1235") { Translations = new List { - new DictionaryTranslation(ServiceContext.LocalizationService.GetLanguageByIsoCode("en-US"), "Hello world") + new DictionaryTranslation(localizationService.GetLanguageByIsoCode("en-US"), "Hello world") } }; @@ -56,22 +55,22 @@ namespace Umbraco.Tests.Persistence.Repositories Assert.That(dictionaryItem.Translations.Any(x => x == null), Is.False); Assert.That(dictionaryItem.Translations.First().Value, Is.EqualTo("Hello world")); } - } [Test] public void Can_Perform_Get_By_UniqueId_On_DictionaryRepository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var localizationService = GetRequiredService(); + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(); var dictionaryItem = (IDictionaryItem)new DictionaryItem("Testing1235") { Translations = new List { - new DictionaryTranslation(ServiceContext.LocalizationService.GetLanguageByIsoCode("en-US"), "Hello world") + new DictionaryTranslation(localizationService.GetLanguageByIsoCode("en-US"), "Hello world") } }; @@ -93,15 +92,16 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Get_On_DictionaryRepository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var localizationService = GetRequiredService(); + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(); var dictionaryItem = (IDictionaryItem)new DictionaryItem("Testing1235") { Translations = new List { - new DictionaryTranslation(ServiceContext.LocalizationService.GetLanguageByIsoCode("en-US"), "Hello world") + new DictionaryTranslation(localizationService.GetLanguageByIsoCode("en-US"), "Hello world") } }; @@ -118,15 +118,14 @@ namespace Umbraco.Tests.Persistence.Repositories Assert.That(dictionaryItem.Translations.Any(x => x == null), Is.False); Assert.That(dictionaryItem.Translations.First().Value, Is.EqualTo("Hello world")); } - } [Test] public void Can_Perform_Get_On_DictionaryRepository_When_No_Language_Assigned() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(); var dictionaryItem = (IDictionaryItem) new DictionaryItem("Testing1235"); @@ -142,15 +141,14 @@ namespace Umbraco.Tests.Persistence.Repositories Assert.That(dictionaryItem.ItemKey, Is.EqualTo("Testing1235")); Assert.That(dictionaryItem.Translations.Any(), Is.False); } - } [Test] public void Can_Perform_GetAll_On_DictionaryRepository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(); @@ -170,8 +168,8 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_GetAll_With_Params_On_DictionaryRepository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(); @@ -190,13 +188,13 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_GetByQuery_On_DictionaryRepository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(); // Act - var query = scope.SqlContext.Query().Where(x => x.ItemKey == "Article"); + var query = provider.SqlContext.Query().Where(x => x.ItemKey == "Article"); var result = repository.Get(query); // Assert @@ -210,13 +208,13 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Count_On_DictionaryRepository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(); // Act - var query = scope.SqlContext.Query().Where(x => x.ItemKey.StartsWith("Read")); + var query = provider.SqlContext.Query().Where(x => x.ItemKey.StartsWith("Read")); var result = repository.Count(query); // Assert @@ -228,19 +226,19 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Add_On_DictionaryRepository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { - var languageRepository = Factory.GetInstance(); + var languageRepository = GetRequiredService(); var repository = CreateRepository(); var language = languageRepository.Get(1); var read = new DictionaryItem("Read"); var translations = new List - { - new DictionaryTranslation(language, "Read") - }; + { + new DictionaryTranslation(language, "Read") + }; read.Translations = translations; // Act @@ -258,8 +256,8 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Update_On_DictionaryRepository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(); @@ -284,14 +282,15 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Update_WithNewTranslation_On_DictionaryRepository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var localizationService = GetRequiredService(); + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(); var globalSettings = new GlobalSettingsBuilder().Build(); var languageNo = new Language(globalSettings, "nb-NO") { CultureName = "nb-NO" }; - ServiceContext.LocalizationService.Save(languageNo); + localizationService.Save(languageNo); // Act var item = repository.Get(1); @@ -314,8 +313,8 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Delete_On_DictionaryRepository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(); @@ -334,8 +333,8 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Exists_On_DictionaryRepository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(); @@ -352,8 +351,8 @@ namespace Umbraco.Tests.Persistence.Repositories { Dictionary keyMap; - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(); keyMap = repository.GetDictionaryItemKeyMap(); @@ -365,19 +364,14 @@ namespace Umbraco.Tests.Persistence.Repositories Console.WriteLine("{0}: {1}", kvp.Key, kvp.Value); } - [TearDown] - public override void TearDown() - { - base.TearDown(); - } - public void CreateTestData() { - var language = ServiceContext.LocalizationService.GetLanguageByIsoCode("en-US"); + var localizationService = GetRequiredService(); + var language = localizationService.GetLanguageByIsoCode("en-US"); var globalSettings = new GlobalSettingsBuilder().Build(); var languageDK = new Language(globalSettings, "da-DK") { CultureName = "da-DK" }; - ServiceContext.LocalizationService.Save(languageDK);//Id 2 + localizationService.Save(languageDK);//Id 2 var readMore = new DictionaryItem("Read More"); var translations = new List @@ -386,7 +380,7 @@ namespace Umbraco.Tests.Persistence.Repositories new DictionaryTranslation(languageDK, "Læs mere") }; readMore.Translations = translations; - ServiceContext.LocalizationService.Save(readMore);//Id 1 + localizationService.Save(readMore);//Id 1 var article = new DictionaryItem("Article"); var translations2 = new List @@ -395,7 +389,7 @@ namespace Umbraco.Tests.Persistence.Repositories new DictionaryTranslation(languageDK, "Artikel") }; article.Translations = translations2; - ServiceContext.LocalizationService.Save(article);//Id 2 + localizationService.Save(article);//Id 2 } } } diff --git a/src/Umbraco.Tests/Persistence/Repositories/EntityRepositoryTest.cs b/src/Umbraco.Tests.Integration/Persistence/Repositories/EntityRepositoryTest.cs similarity index 71% rename from src/Umbraco.Tests/Persistence/Repositories/EntityRepositoryTest.cs rename to src/Umbraco.Tests.Integration/Persistence/Repositories/EntityRepositoryTest.cs index a4df5bcf78..678e33d34b 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/EntityRepositoryTest.cs +++ b/src/Umbraco.Tests.Integration/Persistence/Repositories/EntityRepositoryTest.cs @@ -4,20 +4,19 @@ using NUnit.Framework; using Umbraco.Core; using Umbraco.Core.Models; using Umbraco.Core.Models.Entities; -using Umbraco.Core.Persistence; using Umbraco.Core.Persistence.Repositories.Implement; using Umbraco.Core.Scoping; -using Umbraco.Tests.TestHelpers; +using Umbraco.Core.Services; +using Umbraco.Tests.Integration.Testing; using Umbraco.Tests.TestHelpers.Entities; using Umbraco.Tests.Testing; -namespace Umbraco.Tests.Persistence.Repositories +namespace Umbraco.Tests.Integration.Persistence.Repositories { [TestFixture] [UmbracoTest(Mapper = true, Database = UmbracoTestOptions.Database.NewSchemaPerTest)] - public class EntityRepositoryTest : TestWithDatabaseBase + public class EntityRepositoryTest : UmbracoIntegrationTest { - private EntityRepository CreateRepository(IScopeAccessor scopeAccessor) { var entityRepository = new EntityRepository(scopeAccessor); @@ -29,36 +28,44 @@ namespace Umbraco.Tests.Persistence.Repositories { //Create content + var contentService = GetRequiredService(); + var contentTypeService = GetRequiredService(); var createdContent = new List(); var contentType = MockedContentTypes.CreateBasicContentType("blah"); - ServiceContext.ContentTypeService.Save(contentType); - for (int i = 0; i < 10; i++) + contentTypeService.Save(contentType); + for (var i = 0; i < 10; i++) { var c1 = MockedContent.CreateBasicContent(contentType); - ServiceContext.ContentService.Save(c1); + contentService.Save(c1); createdContent.Add(c1); } //Create media - + + var mediaService = GetRequiredService(); + var mediaTypeService = GetRequiredService(); var createdMedia = new List(); var imageType = MockedContentTypes.CreateImageMediaType("myImage"); - ServiceContext.MediaTypeService.Save(imageType); - for (int i = 0; i < 10; i++) + mediaTypeService.Save(imageType); + for (var i = 0; i < 10; i++) { var c1 = MockedMedia.CreateMediaImage(imageType, -1); - ServiceContext.MediaService.Save(c1); + mediaService.Save(c1); createdMedia.Add(c1); } // Create members - var memberType = MockedContentTypes.CreateSimpleMemberType("simple"); - ServiceContext.MemberTypeService.Save(memberType); - var createdMembers = MockedMember.CreateSimpleMember(memberType, 10).ToList(); - ServiceContext.MemberService.Save(createdMembers); - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var memberService = GetRequiredService(); + var memberTypeService = GetRequiredService(); + var memberType = MockedContentTypes.CreateSimpleMemberType("simple"); + memberTypeService.Save(memberType); + var createdMembers = MockedMember.CreateSimpleMember(memberType, 10).ToList(); + memberService.Save(createdMembers); + + + var provider = ScopeProvider; + using (provider.CreateScope()) { var repo = CreateRepository((IScopeAccessor)provider); @@ -66,7 +73,7 @@ namespace Umbraco.Tests.Persistence.Repositories var objectTypes = new[] { Constants.ObjectTypes.Document, Constants.ObjectTypes.Media, Constants.ObjectTypes.Member }; - var query = SqlContext.Query() + var query = provider.SqlContext.Query() .WhereIn(e => e.Id, ids); var entities = repo.GetPagedResultsByQuery(query, objectTypes, 0, 20, out var totalRecords, null, null).ToList(); @@ -88,8 +95,6 @@ namespace Umbraco.Tests.Persistence.Repositories Assert.AreEqual(10, mediaEntities.Count); Assert.AreEqual(10, memberEntities.Count); } - } - } } diff --git a/src/Umbraco.Tests/Persistence/Repositories/KeyValueRepositoryTests.cs b/src/Umbraco.Tests.Integration/Persistence/Repositories/KeyValueRepositoryTests.cs similarity index 90% rename from src/Umbraco.Tests/Persistence/Repositories/KeyValueRepositoryTests.cs rename to src/Umbraco.Tests.Integration/Persistence/Repositories/KeyValueRepositoryTests.cs index 50ebc7ff5d..c756b6273b 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/KeyValueRepositoryTests.cs +++ b/src/Umbraco.Tests.Integration/Persistence/Repositories/KeyValueRepositoryTests.cs @@ -4,19 +4,19 @@ using Umbraco.Core.Models; using Umbraco.Core.Persistence.Repositories; using Umbraco.Core.Persistence.Repositories.Implement; using Umbraco.Core.Scoping; -using Umbraco.Tests.TestHelpers; +using Umbraco.Tests.Integration.Testing; using Umbraco.Tests.Testing; -namespace Umbraco.Tests.Persistence.Repositories +namespace Umbraco.Tests.Integration.Persistence.Repositories { [TestFixture] [UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest)] - public class KeyValueRepositoryTests : TestWithDatabaseBase + public class KeyValueRepositoryTests : UmbracoIntegrationTest { [Test] public void CanSetAndGet() { - var provider = TestObjects.GetScopeProvider(Logger); + var provider = ScopeProvider; // Insert new key/value using (var scope = provider.CreateScope()) diff --git a/src/Umbraco.Tests/Persistence/Repositories/LanguageRepositoryTest.cs b/src/Umbraco.Tests.Integration/Persistence/Repositories/LanguageRepositoryTest.cs similarity index 81% rename from src/Umbraco.Tests/Persistence/Repositories/LanguageRepositoryTest.cs rename to src/Umbraco.Tests.Integration/Persistence/Repositories/LanguageRepositoryTest.cs index dae0200550..550f32adb1 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/LanguageRepositoryTest.cs +++ b/src/Umbraco.Tests.Integration/Persistence/Repositories/LanguageRepositoryTest.cs @@ -1,46 +1,43 @@ using System; using System.Globalization; using System.Linq; -using Moq; using NUnit.Framework; using Umbraco.Core.Cache; using Umbraco.Core.Configuration.Models; -using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Persistence; using Umbraco.Core.Persistence.Repositories.Implement; using Umbraco.Core.Scoping; +using Umbraco.Core.Services; using Umbraco.Tests.Common.Builders; -using Umbraco.Tests.TestHelpers; +using Umbraco.Tests.Integration.Testing; using Umbraco.Tests.Testing; -namespace Umbraco.Tests.Persistence.Repositories +namespace Umbraco.Tests.Integration.Persistence.Repositories { [TestFixture] [UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest)] - public class LanguageRepositoryTest : TestWithDatabaseBase + public class LanguageRepositoryTest : UmbracoIntegrationTest { private GlobalSettings _globalSettings; - public override void SetUp() + [SetUp] + public void SetUp() { - base.SetUp(); - CreateTestData(); - _globalSettings = new GlobalSettingsBuilder().Build(); } private LanguageRepository CreateRepository(IScopeProvider provider) { - return new LanguageRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of(), Microsoft.Extensions.Options.Options.Create(_globalSettings)); + return new LanguageRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, Microsoft.Extensions.Options.Options.Create(_globalSettings)); } [Test] public void Can_Perform_Get_On_LanguageRepository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); + var provider = ScopeProvider; using (var scope = provider.CreateScope()) { scope.Database.AsUmbracoDatabase().EnableSqlTrace = true; @@ -61,8 +58,8 @@ namespace Umbraco.Tests.Persistence.Repositories [Test] public void Can_Perform_Get_By_Iso_Code_On_LanguageRepository() { - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(provider); @@ -90,8 +87,8 @@ namespace Umbraco.Tests.Persistence.Repositories public void Get_When_Id_Doesnt_Exist_Returns_Null() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(provider); @@ -107,8 +104,8 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_GetAll_On_LanguageRepository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(provider); @@ -127,8 +124,8 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_GetAll_With_Params_On_LanguageRepository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(provider); @@ -147,7 +144,7 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_GetByQuery_On_LanguageRepository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); + var provider = ScopeProvider; using (var scope = provider.CreateScope()) { var repository = CreateRepository(provider); @@ -167,7 +164,7 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Count_On_LanguageRepository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); + var provider = ScopeProvider; using (var scope = provider.CreateScope()) { var repository = CreateRepository(provider); @@ -185,8 +182,8 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Add_On_LanguageRepository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(provider); @@ -207,8 +204,8 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Add_On_LanguageRepository_With_Boolean_Properties() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(provider); @@ -229,17 +226,17 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Add_On_LanguageRepository_With_Fallback_Language() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(provider); // Act var languageBR = new Language(_globalSettings, "pt-BR") - { - CultureName = "pt-BR", - FallbackLanguageId = 1 - }; + { + CultureName = "pt-BR", + FallbackLanguageId = 1 + }; repository.Save(languageBR); // Assert @@ -253,8 +250,8 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Add_On_LanguageRepository_With_New_Default() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(provider); @@ -281,8 +278,8 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Update_On_LanguageRepository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(provider); @@ -308,8 +305,8 @@ namespace Umbraco.Tests.Persistence.Repositories public void Perform_Update_With_Existing_Culture() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(provider); @@ -326,8 +323,8 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Delete_On_LanguageRepository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(provider); @@ -346,8 +343,8 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Delete_On_LanguageRepository_With_Language_Used_As_Fallback() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { // Add language to delete as a fall-back language to another one var repository = CreateRepository(provider); @@ -370,8 +367,8 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Exists_On_LanguageRepository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(provider); @@ -385,27 +382,22 @@ namespace Umbraco.Tests.Persistence.Repositories } } - [TearDown] - public override void TearDown() - { - base.TearDown(); - } - private void CreateTestData() { //Id 1 is en-US - when Umbraco is installed + var localizationService = GetRequiredService(); var languageDK = new Language(_globalSettings, "da-DK") { CultureName = "da-DK" }; - ServiceContext.LocalizationService.Save(languageDK);//Id 2 + localizationService.Save(languageDK);//Id 2 var languageSE = new Language(_globalSettings, "sv-SE") { CultureName = "sv-SE" }; - ServiceContext.LocalizationService.Save(languageSE);//Id 3 + localizationService.Save(languageSE);//Id 3 var languageDE = new Language(_globalSettings, "de-DE") { CultureName = "de-DE" }; - ServiceContext.LocalizationService.Save(languageDE);//Id 4 + localizationService.Save(languageDE);//Id 4 var languagePT = new Language(_globalSettings, "pt-PT") { CultureName = "pt-PT" }; - ServiceContext.LocalizationService.Save(languagePT);//Id 5 + localizationService.Save(languagePT);//Id 5 } } } diff --git a/src/Umbraco.Tests/Persistence/Repositories/MacroRepositoryTest.cs b/src/Umbraco.Tests.Integration/Persistence/Repositories/MacroRepositoryTest.cs similarity index 75% rename from src/Umbraco.Tests/Persistence/Repositories/MacroRepositoryTest.cs rename to src/Umbraco.Tests.Integration/Persistence/Repositories/MacroRepositoryTest.cs index facfb9c012..624fd9c566 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/MacroRepositoryTest.cs +++ b/src/Umbraco.Tests.Integration/Persistence/Repositories/MacroRepositoryTest.cs @@ -1,30 +1,23 @@ -using System.Data.SqlServerCe; +using System.Data.SqlClient; using System.Linq; -using Moq; using NUnit.Framework; -using Umbraco.Core; using Umbraco.Core.Cache; -using Umbraco.Core.Logging; using Umbraco.Core.Models; -using Umbraco.Core.Persistence; - using Umbraco.Core.Persistence.Querying; -using Umbraco.Core.Persistence.Repositories; using Umbraco.Core.Persistence.Repositories.Implement; using Umbraco.Core.Scoping; -using Umbraco.Tests.TestHelpers; +using Umbraco.Tests.Integration.Testing; using Umbraco.Tests.Testing; -namespace Umbraco.Tests.Persistence.Repositories +namespace Umbraco.Tests.Integration.Persistence.Repositories { [TestFixture] [UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest)] - public class MacroRepositoryTest : TestWithDatabaseBase + public class MacroRepositoryTest : UmbracoIntegrationTest { - public override void SetUp() + [SetUp] + public void SetUp() { - base.SetUp(); - CreateTestData(); } @@ -32,44 +25,41 @@ namespace Umbraco.Tests.Persistence.Repositories public void Cannot_Add_Duplicate_Macros() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { - var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of(), ShortStringHelper); + var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ShortStringHelper); var macro = new Macro(ShortStringHelper, "test1", "Test", "~/views/macropartials/test.cshtml"); - ; - Assert.Throws(() => repository.Save(macro)); + Assert.Throws(() => repository.Save(macro)); } - } [Test] public void Cannot_Update_To_Duplicate_Macro_Alias() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { - var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of(), ShortStringHelper); + var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ShortStringHelper); var macro = repository.Get(1); macro.Alias = "test2"; - Assert.Throws(() => repository.Save(macro)); + Assert.Throws(() => repository.Save(macro)); } - } [Test] public void Can_Instantiate_Repository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { - var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of(), ShortStringHelper); + var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ShortStringHelper); // Assert Assert.That(repository, Is.Not.Null); @@ -80,10 +70,10 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Get_On_Repository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { - var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of(), ShortStringHelper); + var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ShortStringHelper); // Act var macro = repository.Get(1); @@ -100,18 +90,16 @@ namespace Umbraco.Tests.Persistence.Repositories Assert.That(macro.MacroSource, Is.EqualTo("~/views/macropartials/test1.cshtml")); Assert.That(macro.UseInEditor, Is.EqualTo(false)); } - - } [Test] public void Can_Perform_GetAll_On_Repository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { - var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of(), ShortStringHelper); + var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ShortStringHelper); // Act var macros = repository.GetMany(); @@ -119,21 +107,20 @@ namespace Umbraco.Tests.Persistence.Repositories // Assert Assert.That(macros.Count(), Is.EqualTo(3)); } - } [Test] public void Can_Perform_GetByQuery_On_Repository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); + var provider = ScopeProvider; using (var scope = provider.CreateScope()) { - var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of(), ShortStringHelper); + var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ShortStringHelper); // Act var query = scope.SqlContext.Query().Where(x => x.Alias.ToUpper() == "TEST1"); - var result = repository.Get(query); + var result = repository.Get((IQuery) query); // Assert Assert.AreEqual(1, result.Count()); @@ -144,10 +131,10 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Count_On_Repository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); + var provider = ScopeProvider; using (var scope = provider.CreateScope()) { - var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of(), ShortStringHelper); + var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ShortStringHelper); // Act var query = scope.SqlContext.Query().Where(x => x.Name.StartsWith("Test")); @@ -162,10 +149,10 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Add_On_Repository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { - var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of(), ShortStringHelper); + var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ShortStringHelper); // Act var macro = new Macro(ShortStringHelper, "test", "Test", "~/views/macropartials/test.cshtml"); @@ -183,10 +170,10 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Update_On_Repository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { - var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of(), ShortStringHelper); + var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ShortStringHelper); // Act var macro = repository.Get(2); @@ -218,10 +205,10 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Delete_On_Repository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { - var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of(), ShortStringHelper); + var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ShortStringHelper); // Act var macro = repository.Get(3); @@ -239,10 +226,10 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Exists_On_Repository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { - var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of(), ShortStringHelper); + var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ShortStringHelper); // Act var exists = repository.Exists(3); @@ -258,10 +245,10 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Add_Property_For_Macro() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { - var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of(), ShortStringHelper); + var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ShortStringHelper); var macro = repository.Get(1); macro.Properties.Add(new MacroProperty("new1", "New1", 3, "test")); @@ -284,10 +271,10 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Add_New_Macro_With_Property() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { - var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of(), ShortStringHelper); + var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ShortStringHelper); var macro = new Macro(ShortStringHelper, "newmacro", "A new macro", "~/views/macropartials/test1.cshtml"); macro.Properties.Add(new MacroProperty("blah1", "New1", 4, "test.editor")); @@ -309,10 +296,10 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Remove_Macro_Property() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { - var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of(), ShortStringHelper); + var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ShortStringHelper); var macro = new Macro(ShortStringHelper, "newmacro", "A new macro", "~/views/macropartials/test1.cshtml"); macro.Properties.Add(new MacroProperty("blah1", "New1", 4, "test.editor")); @@ -333,10 +320,10 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Add_Remove_Macro_Properties() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { - var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of(), ShortStringHelper); + var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ShortStringHelper); var macro = new Macro(ShortStringHelper, "newmacro", "A new macro", "~/views/macropartials/test1.cshtml"); var prop1 = new MacroProperty("blah1", "New1", 4, "test.editor"); @@ -364,10 +351,10 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Update_Property_For_Macro() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { - var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of(), ShortStringHelper); + var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ShortStringHelper); var macro = repository.Get(1); macro.Properties.Add(new MacroProperty("new1", "New1", 3, "test")); @@ -391,10 +378,10 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Update_Macro_Property_Alias() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = provider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { - var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of(), ShortStringHelper); + var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ShortStringHelper); var macro = repository.Get(1); macro.Properties.Add(new MacroProperty("new1", "New1", 3, "test")); @@ -411,25 +398,18 @@ namespace Umbraco.Tests.Persistence.Repositories } } - [TearDown] - public override void TearDown() - { - base.TearDown(); - } - public void CreateTestData() { - var provider = TestObjects.GetScopeProvider(Logger); + var provider = ScopeProvider; using (var scope = provider.CreateScope()) { - var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of(), ShortStringHelper); + var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ShortStringHelper); repository.Save(new Macro(ShortStringHelper, "test1", "Test1", "~/views/macropartials/test1.cshtml")); repository.Save(new Macro(ShortStringHelper, "test2", "Test2", "~/views/macropartials/test2.cshtml")); repository.Save(new Macro(ShortStringHelper, "test3", "Tet3", "~/views/macropartials/test3.cshtml")); scope.Complete(); } - } } } diff --git a/src/Umbraco.Tests/Persistence/Repositories/NotificationsRepositoryTest.cs b/src/Umbraco.Tests.Integration/Persistence/Repositories/NotificationsRepositoryTest.cs similarity index 93% rename from src/Umbraco.Tests/Persistence/Repositories/NotificationsRepositoryTest.cs rename to src/Umbraco.Tests.Integration/Persistence/Repositories/NotificationsRepositoryTest.cs index 12fa1bb9bb..2735f869c0 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/NotificationsRepositoryTest.cs +++ b/src/Umbraco.Tests.Integration/Persistence/Repositories/NotificationsRepositoryTest.cs @@ -7,22 +7,21 @@ using Umbraco.Core; using Umbraco.Core.Models.Entities; using Umbraco.Core.Models.Membership; using Umbraco.Core.Persistence.Dtos; -using Umbraco.Core.Persistence.Repositories; using Umbraco.Core.Persistence.Repositories.Implement; using Umbraco.Core.Scoping; -using Umbraco.Tests.TestHelpers; +using Umbraco.Tests.Integration.Testing; using Umbraco.Tests.Testing; -namespace Umbraco.Tests.Persistence.Repositories +namespace Umbraco.Tests.Integration.Persistence.Repositories { [TestFixture] [UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest)] - public class NotificationsRepositoryTest : TestWithDatabaseBase + public class NotificationsRepositoryTest : UmbracoIntegrationTest { [Test] public void CreateNotification() { - var provider = TestObjects.GetScopeProvider(Logger); + var provider = ScopeProvider; using (var scope = provider.CreateScope()) { var repo = new NotificationsRepository((IScopeAccessor) provider); @@ -56,10 +55,9 @@ namespace Umbraco.Tests.Persistence.Repositories [Test] public void GetUserNotifications() { - var provider = TestObjects.GetScopeProvider(Logger); + var provider = ScopeProvider; using (var scope = provider.CreateScope()) { - var repo = new NotificationsRepository((IScopeAccessor) provider); var userDto = new UserDto { Email = "test", Login = "test", Password = "test", UserName = "test", UserLanguage = "en", CreateDate = DateTime.Now, UpdateDate = DateTime.Now }; @@ -85,10 +83,9 @@ namespace Umbraco.Tests.Persistence.Repositories [Test] public void GetEntityNotifications() { - var provider = TestObjects.GetScopeProvider(Logger); + var provider = ScopeProvider; using (var scope = provider.CreateScope()) { - var repo = new NotificationsRepository((IScopeAccessor) provider); var node1 = new NodeDto { CreateDate = DateTime.Now, Level = 1, NodeObjectType = Constants.ObjectTypes.ContentItem, ParentId = -1, Path = "-1,1", SortOrder = 1, Text = "hello1", Trashed = false, UniqueId = Guid.NewGuid(), UserId = -1 }; @@ -115,10 +112,9 @@ namespace Umbraco.Tests.Persistence.Repositories [Test] public void Delete_By_Entity() { - var provider = TestObjects.GetScopeProvider(Logger); + var provider = ScopeProvider; using (var scope = provider.CreateScope()) { - var repo = new NotificationsRepository((IScopeAccessor) provider); var node1 = new NodeDto { CreateDate = DateTime.Now, Level = 1, NodeObjectType = Constants.ObjectTypes.ContentItem, ParentId = -1, Path = "-1,1", SortOrder = 1, Text = "hello1", Trashed = false, UniqueId = Guid.NewGuid(), UserId = -1 }; @@ -145,10 +141,9 @@ namespace Umbraco.Tests.Persistence.Repositories [Test] public void Delete_By_User() { - var provider = TestObjects.GetScopeProvider(Logger); + var provider = ScopeProvider; using (var scope = provider.CreateScope()) { - var repo = new NotificationsRepository((IScopeAccessor) provider); var userDto = new UserDto { Email = "test", Login = "test", Password = "test", UserName = "test", UserLanguage = "en", CreateDate = DateTime.Now, UpdateDate = DateTime.Now }; diff --git a/src/Umbraco.Tests/Persistence/Repositories/RedirectUrlRepositoryTests.cs b/src/Umbraco.Tests.Integration/Persistence/Repositories/RedirectUrlRepositoryTests.cs similarity index 87% rename from src/Umbraco.Tests/Persistence/Repositories/RedirectUrlRepositoryTests.cs rename to src/Umbraco.Tests.Integration/Persistence/Repositories/RedirectUrlRepositoryTests.cs index 652209b65b..18cbb01c0e 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/RedirectUrlRepositoryTests.cs +++ b/src/Umbraco.Tests.Integration/Persistence/Repositories/RedirectUrlRepositoryTests.cs @@ -1,32 +1,31 @@ using System; using System.Linq; using NUnit.Framework; -using Umbraco.Core; using Umbraco.Core.Models; using Umbraco.Core.Persistence.Repositories; using Umbraco.Core.Persistence.Repositories.Implement; using Umbraco.Core.Scoping; -using Umbraco.Tests.TestHelpers; +using Umbraco.Core.Services; +using Umbraco.Tests.Integration.Testing; using Umbraco.Tests.TestHelpers.Entities; using Umbraco.Tests.Testing; -namespace Umbraco.Tests.Persistence.Repositories +namespace Umbraco.Tests.Integration.Persistence.Repositories { [TestFixture] [UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest)] - public class RedirectUrlRepositoryTests : TestWithDatabaseBase + public class RedirectUrlRepositoryTests : UmbracoIntegrationTest { - public override void SetUp() + [SetUp] + public void SetUp() { - base.SetUp(); - CreateTestData(); } [Test] public void CanSaveAndGet() { - var provider = TestObjects.GetScopeProvider(Logger); + var provider = ScopeProvider; using (var scope = provider.CreateScope()) { @@ -56,7 +55,7 @@ namespace Umbraco.Tests.Persistence.Repositories [Test] public void CanSaveAndGetMostRecent() { - var provider = TestObjects.GetScopeProvider(Logger); + var provider = ScopeProvider; Assert.AreNotEqual(_textpage.Id, _otherpage.Id); @@ -104,7 +103,7 @@ namespace Umbraco.Tests.Persistence.Repositories [Test] public void CanSaveAndGetByContent() { - var provider = TestObjects.GetScopeProvider(Logger); + var provider = ScopeProvider; using (var scope = provider.CreateScope()) { @@ -148,7 +147,7 @@ namespace Umbraco.Tests.Persistence.Repositories [Test] public void CanSaveAndDelete() { - var provider = TestObjects.GetScopeProvider(Logger); + var provider = ScopeProvider; using (var scope = provider.CreateScope()) { @@ -195,32 +194,35 @@ namespace Umbraco.Tests.Persistence.Repositories public void CreateTestData() { + var fileService = GetRequiredService(); + var contentService = GetRequiredService(); + var contentTypeService = GetRequiredService(); //Create and Save ContentType "umbTextpage" -> (NodeDto.NodeIdSeed) var contentType = MockedContentTypes.CreateSimpleContentType("umbTextpage", "Textpage"); contentType.Key = Guid.NewGuid(); - ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType! - ServiceContext.ContentTypeService.Save(contentType); + fileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType! + contentTypeService.Save(contentType); //Create and Save Content "Homepage" based on "umbTextpage" -> (NodeDto.NodeIdSeed + 1) _textpage = MockedContent.CreateSimpleContent(contentType); _textpage.Key = Guid.NewGuid(); - ServiceContext.ContentService.Save(_textpage); + contentService.Save(_textpage); //Create and Save Content "Text Page 1" based on "umbTextpage" -> (NodeDto.NodeIdSeed + 2) _subpage = MockedContent.CreateSimpleContent(contentType, "Text Page 1", _textpage.Id); _subpage.Key = Guid.NewGuid(); - ServiceContext.ContentService.Save(_subpage); + contentService.Save(_subpage); //Create and Save Content "Text Page 1" based on "umbTextpage" -> (NodeDto.NodeIdSeed + 3) _otherpage = MockedContent.CreateSimpleContent(contentType, "Text Page 2", _textpage.Id); _otherpage.Key = Guid.NewGuid(); - ServiceContext.ContentService.Save(_otherpage); + contentService.Save(_otherpage); //Create and Save Content "Text Page Deleted" based on "umbTextpage" -> (NodeDto.NodeIdSeed + 4) _trashed = MockedContent.CreateSimpleContent(contentType, "Text Page Deleted", -20); _trashed.Key = Guid.NewGuid(); ((Content) _trashed).Trashed = true; - ServiceContext.ContentService.Save(_trashed); + contentService.Save(_trashed); } } } diff --git a/src/Umbraco.Tests/Persistence/Repositories/RelationTypeRepositoryTest.cs b/src/Umbraco.Tests.Integration/Persistence/Repositories/RelationTypeRepositoryTest.cs similarity index 78% rename from src/Umbraco.Tests/Persistence/Repositories/RelationTypeRepositoryTest.cs rename to src/Umbraco.Tests.Integration/Persistence/Repositories/RelationTypeRepositoryTest.cs index edde8e8f81..9a08c3f9c8 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/RelationTypeRepositoryTest.cs +++ b/src/Umbraco.Tests.Integration/Persistence/Repositories/RelationTypeRepositoryTest.cs @@ -1,43 +1,36 @@ -using System; -using System.Linq; -using Moq; +using System.Linq; using NUnit.Framework; using Umbraco.Core; using Umbraco.Core.Cache; -using Umbraco.Core.Logging; using Umbraco.Core.Models; -using Umbraco.Core.Persistence.Dtos; -using Umbraco.Core.Persistence.Repositories; using Umbraco.Core.Persistence.Repositories.Implement; using Umbraco.Core.Scoping; -using Umbraco.Tests.TestHelpers; +using Umbraco.Tests.Integration.Testing; using Umbraco.Tests.Testing; -namespace Umbraco.Tests.Persistence.Repositories +namespace Umbraco.Tests.Integration.Persistence.Repositories { [TestFixture] [UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest)] - public class RelationTypeRepositoryTest : TestWithDatabaseBase + public class RelationTypeRepositoryTest : UmbracoIntegrationTest { - public override void SetUp() + [SetUp] + public void SetUp() { - base.SetUp(); - CreateTestData(); } private RelationTypeRepository CreateRepository(IScopeProvider provider) { - return new RelationTypeRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of()); + return new RelationTypeRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger); } - [Test] public void Can_Perform_Add_On_RelationTypeRepository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = ScopeProvider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(provider); @@ -56,8 +49,8 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Update_On_RelationTypeRepository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = ScopeProvider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(provider); @@ -81,8 +74,8 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Delete_On_RelationTypeRepository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = ScopeProvider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(provider); @@ -101,13 +94,13 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Get_On_RelationTypeRepository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = ScopeProvider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(provider); // Act - var relationType = repository.Get(RelationTypeDto.NodeIdSeed + 2); + var relationType = repository.Get(8); // Assert Assert.That(relationType, Is.Not.Null); @@ -124,8 +117,8 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_GetAll_On_RelationTypeRepository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = ScopeProvider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(provider); @@ -144,8 +137,8 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_GetAll_With_Params_On_RelationTypeRepository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = ScopeProvider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(provider); @@ -164,14 +157,14 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Exists_On_RelationTypeRepository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = ScopeProvider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(provider); // Act var exists = repository.Exists(3); - var doesntExist = repository.Exists(6); + var doesntExist = repository.Exists(9); // Assert Assert.That(exists, Is.True); @@ -183,8 +176,8 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Count_On_RelationTypeRepository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = ScopeProvider.CreateScope()) + var provider = ScopeProvider; + using (var scope = provider.CreateScope()) { var repository = CreateRepository(provider); @@ -201,8 +194,8 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_GetByQuery_On_RelationTypeRepository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = ScopeProvider.CreateScope()) + var provider = ScopeProvider; + using (var scope = provider.CreateScope()) { var repository = CreateRepository(provider); @@ -219,22 +212,16 @@ namespace Umbraco.Tests.Persistence.Repositories } } - [TearDown] - public override void TearDown() - { - base.TearDown(); - } - public void CreateTestData() { var relateContent = new RelationType("Relate Content on Copy", "relateContentOnCopy", true, Constants.ObjectTypes.Document, Constants.ObjectTypes.Document); var relateContentType = new RelationType("Relate ContentType on Copy", "relateContentTypeOnCopy", true, Constants.ObjectTypes.DocumentType, Constants.ObjectTypes.DocumentType); var relateContentMedia = new RelationType("Relate Content to Media", "relateContentToMedia", true, Constants.ObjectTypes.Document, Constants.ObjectTypes.Media); - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = ScopeProvider.CreateScope()) + var provider = ScopeProvider; + using (var scope = provider.CreateScope()) { - var repository = new RelationTypeRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of()); + var repository = new RelationTypeRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger); repository.Save(relateContent);//Id 2 repository.Save(relateContentType);//Id 3 diff --git a/src/Umbraco.Tests/Persistence/Repositories/ServerRegistrationRepositoryTest.cs b/src/Umbraco.Tests.Integration/Persistence/Repositories/ServerRegistrationRepositoryTest.cs similarity index 76% rename from src/Umbraco.Tests/Persistence/Repositories/ServerRegistrationRepositoryTest.cs rename to src/Umbraco.Tests.Integration/Persistence/Repositories/ServerRegistrationRepositoryTest.cs index b84a79b3d1..0ac8b3a829 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/ServerRegistrationRepositoryTest.cs +++ b/src/Umbraco.Tests.Integration/Persistence/Repositories/ServerRegistrationRepositoryTest.cs @@ -1,27 +1,25 @@ using System; -using System.Data.SqlServerCe; +using System.Data.SqlClient; using System.Linq; using NUnit.Framework; using Umbraco.Core.Cache; using Umbraco.Core.Models; -using Umbraco.Core.Persistence.Repositories; using Umbraco.Core.Persistence.Repositories.Implement; using Umbraco.Core.Scoping; -using Umbraco.Tests.TestHelpers; +using Umbraco.Tests.Integration.Testing; using Umbraco.Tests.Testing; -namespace Umbraco.Tests.Persistence.Repositories +namespace Umbraco.Tests.Integration.Persistence.Repositories { [TestFixture] [UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest)] - public class ServerRegistrationRepositoryTest : TestWithDatabaseBase + public class ServerRegistrationRepositoryTest : UmbracoIntegrationTest { private AppCaches _appCaches; - public override void SetUp() + [SetUp] + public void SetUp() { - base.SetUp(); - _appCaches = AppCaches.Disabled; CreateTestData(); } @@ -35,41 +33,39 @@ namespace Umbraco.Tests.Persistence.Repositories public void Cannot_Add_Duplicate_Server_Identities() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = ScopeProvider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(provider); var server = new ServerRegistration("http://shazwazza.com", "COMPUTER1", DateTime.Now); - Assert.Throws(() => repository.Save(server)); + Assert.Throws(() => repository.Save(server)); } - } [Test] public void Cannot_Update_To_Duplicate_Server_Identities() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = ScopeProvider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(provider); var server = repository.Get(1); server.ServerIdentity = "COMPUTER2"; - Assert.Throws(() => repository.Save(server)); + Assert.Throws(() => repository.Save(server)); } - } [Test] public void Can_Instantiate_Repository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = ScopeProvider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(provider); @@ -82,8 +78,8 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Get_On_Repository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = ScopeProvider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(provider); @@ -95,16 +91,14 @@ namespace Umbraco.Tests.Persistence.Repositories Assert.That(server.HasIdentity, Is.True); Assert.That(server.ServerAddress, Is.EqualTo("http://localhost")); } - - } [Test] public void Can_Perform_GetAll_On_Repository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = ScopeProvider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(provider); @@ -114,7 +108,6 @@ namespace Umbraco.Tests.Persistence.Repositories // Assert Assert.That(servers.Count(), Is.EqualTo(3)); } - } // queries are not supported due to in-memory caching @@ -123,7 +116,7 @@ namespace Umbraco.Tests.Persistence.Repositories //public void Can_Perform_GetByQuery_On_Repository() //{ // // Arrange - // var provider = TestObjects.GetScopeProvider(Logger); + // var provider = ScopeProvider; // using (var unitOfWork = provider.GetUnitOfWork()) // using (var repository = CreateRepository(provider)) // { @@ -140,7 +133,7 @@ namespace Umbraco.Tests.Persistence.Repositories //public void Can_Perform_Count_On_Repository() //{ // // Arrange - // var provider = TestObjects.GetScopeProvider(Logger); + // var provider = ScopeProvider; // using (var unitOfWork = provider.GetUnitOfWork()) // using (var repository = CreateRepository(provider)) // { @@ -157,8 +150,8 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Add_On_Repository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = ScopeProvider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(provider); @@ -176,8 +169,8 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Update_On_Repository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = ScopeProvider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(provider); @@ -201,8 +194,8 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Delete_On_Repository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = ScopeProvider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(provider); @@ -222,8 +215,8 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Exists_On_Repository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = ScopeProvider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(provider); @@ -237,16 +230,10 @@ namespace Umbraco.Tests.Persistence.Repositories } } - [TearDown] - public override void TearDown() - { - base.TearDown(); - } - public void CreateTestData() { - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = ScopeProvider.CreateScope()) + var provider = ScopeProvider; + using (var scope = provider.CreateScope()) { var repository = CreateRepository(provider); @@ -255,7 +242,6 @@ namespace Umbraco.Tests.Persistence.Repositories repository.Save(new ServerRegistration("https://www.another.domain.com", "Computer3", DateTime.Now)); scope.Complete(); } - } } } diff --git a/src/Umbraco.Tests/Persistence/Repositories/SimilarNodeNameTests.cs b/src/Umbraco.Tests.Integration/Persistence/Repositories/SimilarNodeNameTests.cs similarity index 97% rename from src/Umbraco.Tests/Persistence/Repositories/SimilarNodeNameTests.cs rename to src/Umbraco.Tests.Integration/Persistence/Repositories/SimilarNodeNameTests.cs index 582e5a4815..b60709c8bf 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/SimilarNodeNameTests.cs +++ b/src/Umbraco.Tests.Integration/Persistence/Repositories/SimilarNodeNameTests.cs @@ -1,9 +1,8 @@ using System.Linq; using NUnit.Framework; -using Umbraco.Core.Persistence.Repositories; using Umbraco.Core.Persistence.Repositories.Implement; -namespace Umbraco.Tests.Persistence.Repositories +namespace Umbraco.Tests.Integration.Persistence.Repositories { [TestFixture] public class SimilarNodeNameTests @@ -36,8 +35,6 @@ namespace Umbraco.Tests.Persistence.Repositories Assert.IsTrue(result > 0, "Expected >0 but was " + result); } - - [Test] public void OrderByTest() { diff --git a/src/Umbraco.Tests/Persistence/Repositories/TemplateRepositoryTest.cs b/src/Umbraco.Tests.Integration/Persistence/Repositories/TemplateRepositoryTest.cs similarity index 84% rename from src/Umbraco.Tests/Persistence/Repositories/TemplateRepositoryTest.cs rename to src/Umbraco.Tests.Integration/Persistence/Repositories/TemplateRepositoryTest.cs index fdf7b48a4a..2839aabe7e 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/TemplateRepositoryTest.cs +++ b/src/Umbraco.Tests.Integration/Persistence/Repositories/TemplateRepositoryTest.cs @@ -7,24 +7,24 @@ using Moq; using NUnit.Framework; using Umbraco.Core; using Umbraco.Core.Cache; -using Umbraco.Core.Composing; -using Umbraco.Core.Configuration.UmbracoSettings; using Umbraco.Core.IO; using Umbraco.Core.Models; using Umbraco.Core.Persistence.Repositories; using Umbraco.Core.Persistence.Repositories.Implement; using Umbraco.Core.PropertyEditors; using Umbraco.Core.Scoping; +using Umbraco.Core.Services; using Umbraco.Tests.Common.Builders; -using Umbraco.Tests.TestHelpers; +using Umbraco.Tests.Integration.Implementations; +using Umbraco.Tests.Integration.Testing; using Umbraco.Tests.TestHelpers.Entities; using Umbraco.Tests.Testing; -namespace Umbraco.Tests.Persistence.Repositories +namespace Umbraco.Tests.Integration.Persistence.Repositories { [TestFixture] [UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest)] - public class TemplateRepositoryTest : TestWithDatabaseBase + public class TemplateRepositoryTest : UmbracoIntegrationTest { private IFileSystems _fileSystems; @@ -33,12 +33,12 @@ namespace Umbraco.Tests.Persistence.Repositories return new TemplateRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, _fileSystems, IOHelper, ShortStringHelper); } - public override void SetUp() + [SetUp] + public void SetUp() { - base.SetUp(); - + var testHelper = new TestHelper(); _fileSystems = Mock.Of(); - var viewsFileSystem = new PhysicalFileSystem(IOHelper, HostingEnvironment, Logger, Constants.SystemDirectories.MvcViews); + var viewsFileSystem = new PhysicalFileSystem(IOHelper, testHelper.GetHostingEnvironment(), Logger, Constants.SystemDirectories.MvcViews); Mock.Get(_fileSystems).Setup(x => x.MvcViewsFileSystem).Returns(viewsFileSystem); } @@ -46,9 +46,11 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Instantiate_Repository() { // Arrange - using (ScopeProvider.CreateScope()) + var provider = ScopeProvider; + + using (provider.CreateScope()) { - var repository = CreateRepository(ScopeProvider); + var repository = CreateRepository(provider); // Assert Assert.That(repository, Is.Not.Null); @@ -59,9 +61,11 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Add_View() { // Arrange - using (ScopeProvider.CreateScope()) + var provider = ScopeProvider; + + using (provider.CreateScope()) { - var repository = CreateRepository(ScopeProvider); + var repository = CreateRepository(provider); // Act var template = new Template(ShortStringHelper, "test", "test"); @@ -78,9 +82,11 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Add_View_With_Default_Content() { // Arrange - using (ScopeProvider.CreateScope()) + var provider = ScopeProvider; + + using (provider.CreateScope()) { - var repository = CreateRepository(ScopeProvider); + var repository = CreateRepository(provider); // Act var template = new Template(ShortStringHelper, "test", "test") @@ -102,9 +108,11 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Add_View_With_Default_Content_With_Parent() { // Arrange - using (ScopeProvider.CreateScope()) + var provider = ScopeProvider; + + using (provider.CreateScope()) { - var repository = CreateRepository(ScopeProvider); + var repository = CreateRepository(provider); //NOTE: This has to be persisted first var template = new Template(ShortStringHelper, "test", "test"); @@ -128,9 +136,11 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Add_Unique_Alias() { // Arrange - using (ScopeProvider.CreateScope()) + var provider = ScopeProvider; + + using (provider.CreateScope()) { - var repository = CreateRepository(ScopeProvider); + var repository = CreateRepository(provider); // Act var template = new Template(ShortStringHelper, "test", "test") @@ -154,9 +164,11 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Update_Unique_Alias() { // Arrange - using (ScopeProvider.CreateScope()) + var provider = ScopeProvider; + + using (provider.CreateScope()) { - var repository = CreateRepository(ScopeProvider); + var repository = CreateRepository(provider); // Act var template = new Template(ShortStringHelper, "test", "test") @@ -185,9 +197,11 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Update_View() { // Arrange - using (ScopeProvider.CreateScope()) + var provider = ScopeProvider; + + using (provider.CreateScope()) { - var repository = CreateRepository(ScopeProvider); + var repository = CreateRepository(provider); // Act var template = new Template(ShortStringHelper, "test", "test") @@ -211,9 +225,11 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Delete_View() { // Arrange - using (ScopeProvider.CreateScope()) + var provider = ScopeProvider; + + using (provider.CreateScope()) { - var repository = CreateRepository(ScopeProvider); + var repository = CreateRepository(provider); var template = new Template(ShortStringHelper, "test", "test") { @@ -236,23 +252,28 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Delete_When_Assigned_To_Doc() { // Arrange - using (ScopeProvider.CreateScope()) + var provider = ScopeProvider; + var scopeAccessor = (IScopeAccessor) provider; + var dataTypeService = GetRequiredService(); + var fileService = GetRequiredService(); + + using (provider.CreateScope()) { - var templateRepository = CreateRepository(ScopeProvider); + var templateRepository = CreateRepository(provider); var globalSettings = new GlobalSettingsBuilder().Build(); - var tagRepository = new TagRepository(ScopeProvider, AppCaches.Disabled, Logger); - var commonRepository = new ContentTypeCommonRepository(ScopeProvider, templateRepository, AppCaches, ShortStringHelper); - var languageRepository = new LanguageRepository(ScopeProvider, AppCaches.Disabled, Logger, Microsoft.Extensions.Options.Options.Create(globalSettings)); - var contentTypeRepository = new ContentTypeRepository(ScopeProvider, AppCaches.Disabled, Logger, commonRepository, languageRepository, ShortStringHelper); - var relationTypeRepository = new RelationTypeRepository(ScopeProvider, AppCaches.Disabled, Logger); - var entityRepository = new EntityRepository(ScopeProvider); - var relationRepository = new RelationRepository(ScopeProvider, Logger, relationTypeRepository, entityRepository); + var tagRepository = new TagRepository(scopeAccessor, AppCaches.Disabled, Logger); + var commonRepository = new ContentTypeCommonRepository(scopeAccessor, templateRepository, AppCaches, ShortStringHelper); + var languageRepository = new LanguageRepository(scopeAccessor, AppCaches.Disabled, Logger, Microsoft.Extensions.Options.Options.Create(globalSettings)); + var contentTypeRepository = new ContentTypeRepository(scopeAccessor, AppCaches.Disabled, Logger, commonRepository, languageRepository, ShortStringHelper); + var relationTypeRepository = new RelationTypeRepository(scopeAccessor, AppCaches.Disabled, Logger); + var entityRepository = new EntityRepository(scopeAccessor); + var relationRepository = new RelationRepository(scopeAccessor, Logger, relationTypeRepository, entityRepository); var propertyEditors = new Lazy(() => new PropertyEditorCollection(new DataEditorCollection(Enumerable.Empty()))); var dataValueReferences = new DataValueReferenceFactoryCollection(Enumerable.Empty()); - var contentRepo = new DocumentRepository(ScopeProvider, AppCaches.Disabled, Logger, contentTypeRepository, templateRepository, tagRepository, languageRepository, relationRepository, relationTypeRepository, propertyEditors, dataValueReferences, DataTypeService); + var contentRepo = new DocumentRepository(scopeAccessor, AppCaches.Disabled, Logger, contentTypeRepository, templateRepository, tagRepository, languageRepository, relationRepository, relationTypeRepository, propertyEditors, dataValueReferences, dataTypeService); var contentType = MockedContentTypes.CreateSimpleContentType("umbTextpage2", "Textpage"); - ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType! + fileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType! contentTypeRepository.Save(contentType); var textpage = MockedContent.CreateSimpleContent(contentType); contentRepo.Save(textpage); @@ -279,9 +300,11 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Delete_On_Nested_Templates() { // Arrange - using (ScopeProvider.CreateScope()) + var provider = ScopeProvider; + + using (provider.CreateScope()) { - var repository = CreateRepository(ScopeProvider); + var repository = CreateRepository(provider); var parent = new Template(ShortStringHelper, "parent", "parent") { @@ -316,9 +339,11 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Get_All() { // Arrange - using (ScopeProvider.CreateScope()) + var provider = ScopeProvider; + + using (provider.CreateScope()) { - var repository = CreateRepository(ScopeProvider); + var repository = CreateRepository(provider); var created = CreateHierarchy(repository).ToArray(); @@ -343,9 +368,11 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Get_Children() { // Arrange - using (ScopeProvider.CreateScope()) + var provider = ScopeProvider; + + using (provider.CreateScope()) { - var repository = CreateRepository(ScopeProvider); + var repository = CreateRepository(provider); var created = CreateHierarchy(repository).ToArray(); @@ -365,9 +392,11 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Get_Children_At_Root() { // Arrange - using (ScopeProvider.CreateScope()) + var provider = ScopeProvider; + + using (provider.CreateScope()) { - var repository = CreateRepository(ScopeProvider); + var repository = CreateRepository(provider); CreateHierarchy(repository).ToArray(); @@ -384,9 +413,11 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Get_Descendants() { // Arrange - using (ScopeProvider.CreateScope()) + var provider = ScopeProvider; + + using (provider.CreateScope()) { - var repository = CreateRepository(ScopeProvider); + var repository = CreateRepository(provider); var created = CreateHierarchy(repository).ToArray(); // Act @@ -406,9 +437,11 @@ namespace Umbraco.Tests.Persistence.Repositories public void Path_Is_Set_Correctly_On_Creation() { // Arrange - using (ScopeProvider.CreateScope()) + var provider = ScopeProvider; + + using (provider.CreateScope()) { - var repository = CreateRepository(ScopeProvider); + var repository = CreateRepository(provider); var parent = new Template(ShortStringHelper, "parent", "parent"); var child1 = new Template(ShortStringHelper, "child1", "child1"); @@ -466,9 +499,11 @@ namespace Umbraco.Tests.Persistence.Repositories public void Path_Is_Set_Correctly_On_Update() { // Arrange - using (ScopeProvider.CreateScope()) + var provider = ScopeProvider; + + using (provider.CreateScope()) { - var repository = CreateRepository(ScopeProvider); + var repository = CreateRepository(provider); var parent = new Template(ShortStringHelper, "parent", "parent"); var child1 = new Template(ShortStringHelper, "child1", "child1"); @@ -504,9 +539,11 @@ namespace Umbraco.Tests.Persistence.Repositories public void Path_Is_Set_Correctly_On_Update_With_Master_Template_Removal() { // Arrange - using (ScopeProvider.CreateScope()) + var provider = ScopeProvider; + + using (provider.CreateScope()) { - var repository = CreateRepository(ScopeProvider); + var repository = CreateRepository(provider); var parent = new Template(ShortStringHelper, "parent", "parent"); var child1 = new Template(ShortStringHelper, "child1", "child1"); @@ -527,14 +564,13 @@ namespace Umbraco.Tests.Persistence.Repositories } [TearDown] - public override void TearDown() + public void TearDown() { - base.TearDown(); - + var testHelper = new TestHelper(); _fileSystems = null; //Delete all files - var fsViews = new PhysicalFileSystem(IOHelper, HostingEnvironment, Logger, Constants.SystemDirectories.MvcViews); + var fsViews = new PhysicalFileSystem(IOHelper, testHelper.GetHostingEnvironment(), Logger, Constants.SystemDirectories.MvcViews); var views = fsViews.GetFiles("", "*.cshtml"); foreach (var file in views) fsViews.DeleteFile(file); diff --git a/src/Umbraco.Tests/Persistence/Repositories/UserGroupRepositoryTest.cs b/src/Umbraco.Tests.Integration/Persistence/Repositories/UserGroupRepositoryTest.cs similarity index 83% rename from src/Umbraco.Tests/Persistence/Repositories/UserGroupRepositoryTest.cs rename to src/Umbraco.Tests.Integration/Persistence/Repositories/UserGroupRepositoryTest.cs index a051980ad2..b18d1a95c2 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/UserGroupRepositoryTest.cs +++ b/src/Umbraco.Tests.Integration/Persistence/Repositories/UserGroupRepositoryTest.cs @@ -1,33 +1,30 @@ -using System; -using System.Linq; -using Moq; +using System.Linq; using NUnit.Framework; -using Umbraco.Core.Logging; using Umbraco.Core.Models.Membership; using Umbraco.Core.Persistence.Repositories; using Umbraco.Core.Persistence.Repositories.Implement; using Umbraco.Core.Scoping; -using Umbraco.Tests.TestHelpers; +using Umbraco.Tests.Integration.Testing; using Umbraco.Tests.TestHelpers.Entities; using Umbraco.Tests.Testing; -namespace Umbraco.Tests.Persistence.Repositories +namespace Umbraco.Tests.Integration.Persistence.Repositories { [TestFixture] [UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest)] - public class UserGroupRepositoryTest : TestWithDatabaseBase + public class UserGroupRepositoryTest : UmbracoIntegrationTest { private UserGroupRepository CreateRepository(IScopeProvider provider) { - return new UserGroupRepository((IScopeAccessor) provider, Core.Cache.AppCaches.Disabled, Mock.Of(), ShortStringHelper); + return new UserGroupRepository((IScopeAccessor) provider, Core.Cache.AppCaches.Disabled, Logger, ShortStringHelper); } [Test] public void Can_Perform_Add_On_UserGroupRepository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = ScopeProvider.CreateScope()) + var provider = ScopeProvider; + using (var scope = provider.CreateScope()) { var repository = CreateRepository(provider); @@ -46,8 +43,8 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Multiple_Adds_On_UserGroupRepository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = ScopeProvider.CreateScope()) + var provider = ScopeProvider; + using (var scope = provider.CreateScope()) { var repository = CreateRepository(provider); @@ -70,8 +67,8 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Verify_Fresh_Entity_Is_Not_Dirty() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = ScopeProvider.CreateScope()) + var provider = ScopeProvider; + using (var scope = provider.CreateScope()) { var repository = CreateRepository(provider); @@ -80,7 +77,7 @@ namespace Umbraco.Tests.Persistence.Repositories scope.Complete(); // Act - var resolved = repository.Get(userGroup.Id); + var resolved = repository.Get((int) userGroup.Id); bool dirty = ((UserGroup)resolved).IsDirty(); // Assert @@ -92,22 +89,21 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Update_On_UserGroupRepository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = ScopeProvider.CreateScope()) + var provider = ScopeProvider; + using (var scope = provider.CreateScope()) { var repository = CreateRepository(provider); var userGroup = MockedUserGroup.CreateUserGroup(); repository.Save(userGroup); - // Act - var resolved = repository.Get(userGroup.Id); + var resolved = repository.Get((int) userGroup.Id); resolved.Name = "New Name"; resolved.Permissions = new[] { "Z", "Y", "X" }; repository.Save(resolved); scope.Complete(); - var updatedItem = repository.Get(userGroup.Id); + var updatedItem = repository.Get((int) userGroup.Id); // Assert Assert.That(updatedItem.Id, Is.EqualTo(resolved.Id)); @@ -119,8 +115,8 @@ namespace Umbraco.Tests.Persistence.Repositories [Test] public void Can_Perform_Delete_On_UserGroupRepository() { - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = ScopeProvider.CreateScope()) + var provider = ScopeProvider; + using (var scope = provider.CreateScope()) { var repository = CreateRepository(provider); @@ -135,7 +131,7 @@ namespace Umbraco.Tests.Persistence.Repositories repository2.Delete(userGroup); scope.Complete(); - var resolved = repository2.Get(id); + var resolved = repository2.Get((int) id); // Assert Assert.That(resolved, Is.Null); @@ -146,8 +142,8 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Get_On_UserGroupRepository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = ScopeProvider.CreateScope()) + var provider = ScopeProvider; + using (var scope = provider.CreateScope()) { var repository = CreateRepository(provider); @@ -156,7 +152,7 @@ namespace Umbraco.Tests.Persistence.Repositories scope.Complete(); // Act - var resolved = repository.Get(userGroup.Id); + var resolved = repository.Get((int) userGroup.Id); // Assert Assert.That(resolved.Id, Is.EqualTo(userGroup.Id)); @@ -172,8 +168,8 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_GetByQuery_On_UserGroupRepository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = ScopeProvider.CreateScope()) + var provider = ScopeProvider; + using (var scope = provider.CreateScope()) { var repository = CreateRepository(provider); @@ -192,8 +188,8 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_GetAll_By_Param_Ids_On_UserGroupRepository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = ScopeProvider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(provider); @@ -213,8 +209,8 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_GetAll_On_UserGroupRepository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = ScopeProvider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(provider); @@ -234,8 +230,8 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Exists_On_UserGroupRepository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = ScopeProvider.CreateScope()) + var provider = ScopeProvider; + using (provider.CreateScope()) { var repository = CreateRepository(provider); @@ -253,8 +249,8 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Perform_Count_On_UserGroupRepository() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = ScopeProvider.CreateScope()) + var provider = ScopeProvider; + using (var scope = provider.CreateScope()) { var repository = CreateRepository(provider); @@ -273,8 +269,8 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Remove_Section_For_Group() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = ScopeProvider.CreateScope()) + var provider = ScopeProvider; + using (var scope = provider.CreateScope()) { var repository = CreateRepository(provider); @@ -308,8 +304,8 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Add_Section_ForGroup() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = ScopeProvider.CreateScope()) + var provider = ScopeProvider; + using (var scope = provider.CreateScope()) { var repository = CreateRepository(provider); @@ -359,8 +355,8 @@ namespace Umbraco.Tests.Persistence.Repositories public void Can_Update_Section_For_Group() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = ScopeProvider.CreateScope()) + var provider = ScopeProvider; + using (var scope = provider.CreateScope()) { var repository = CreateRepository(provider); @@ -387,8 +383,8 @@ namespace Umbraco.Tests.Persistence.Repositories public void Get_Groups_Assigned_To_Section() { // Arrange - var provider = TestObjects.GetScopeProvider(Logger); - using (var scope = ScopeProvider.CreateScope()) + var provider = ScopeProvider; + using (var scope = provider.CreateScope()) { var repository = CreateRepository(provider); diff --git a/src/Umbraco.Tests.Integration/Persistence/Repositories/UserRepositoryTest.cs b/src/Umbraco.Tests.Integration/Persistence/Repositories/UserRepositoryTest.cs index df5e58e82a..5084e5ae15 100644 --- a/src/Umbraco.Tests.Integration/Persistence/Repositories/UserRepositoryTest.cs +++ b/src/Umbraco.Tests.Integration/Persistence/Repositories/UserRepositoryTest.cs @@ -5,7 +5,6 @@ using Moq; using NUnit.Framework; using Umbraco.Core; using Umbraco.Core.Cache; -using Umbraco.Core.Configuration; using Umbraco.Core.Configuration.Models; using Umbraco.Core.Models.Membership; using Umbraco.Core.Persistence; diff --git a/src/Umbraco.Tests/Persistence/Repositories/UserRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/UserRepositoryTest.cs index ddb8794e90..448fce9579 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/UserRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/UserRepositoryTest.cs @@ -1,22 +1,22 @@ -using System.Linq; +using System; +using System.Linq; using Moq; using NUnit.Framework; using Umbraco.Core; using Umbraco.Core.Cache; +using Umbraco.Core.Configuration.Models; using Umbraco.Core.Logging; using Umbraco.Core.Models.Membership; using Umbraco.Core.Persistence.Repositories; using Umbraco.Core.Persistence.Repositories.Implement; +using Umbraco.Core.PropertyEditors; using Umbraco.Core.Scoping; +using Umbraco.Core.Serialization; +using Umbraco.Tests.Common.Builders; using Umbraco.Tests.TestHelpers; using Umbraco.Tests.TestHelpers.Entities; using Umbraco.Tests.Testing; -using Umbraco.Core.PropertyEditors; -using System; -using Umbraco.Core.Configuration; -using Umbraco.Core.Serialization; -using Umbraco.Core.Configuration.Models; -using Umbraco.Tests.Common.Builders; +using MockedUser = Umbraco.Tests.TestHelpers.Entities.MockedUser; namespace Umbraco.Tests.Persistence.Repositories { diff --git a/src/Umbraco.Tests/Services/UserServiceTests.cs b/src/Umbraco.Tests/Services/UserServiceTests.cs index 08b60fca21..fef2fa30af 100644 --- a/src/Umbraco.Tests/Services/UserServiceTests.cs +++ b/src/Umbraco.Tests/Services/UserServiceTests.cs @@ -6,17 +6,16 @@ using System.Text; using System.Threading; using NUnit.Framework; using Umbraco.Core; -using Umbraco.Core.Exceptions; using Umbraco.Core.Models; using Umbraco.Core.Models.Membership; -using Umbraco.Core.Persistence.DatabaseModelDefinitions; -using Umbraco.Tests.TestHelpers.Entities; using Umbraco.Core.Persistence.Querying; using Umbraco.Core.Services; using Umbraco.Core.Services.Implement; +using Umbraco.Tests.Common.Builders; +using Umbraco.Tests.TestHelpers.Entities; using Umbraco.Tests.Testing; using Umbraco.Web.Actions; -using Umbraco.Tests.Common.Builders; +using MockedUser = Umbraco.Tests.TestHelpers.Entities.MockedUser; namespace Umbraco.Tests.Services { diff --git a/src/Umbraco.Tests/Umbraco.Tests.csproj b/src/Umbraco.Tests/Umbraco.Tests.csproj index 75c4bd773d..2538e6918f 100644 --- a/src/Umbraco.Tests/Umbraco.Tests.csproj +++ b/src/Umbraco.Tests/Umbraco.Tests.csproj @@ -139,8 +139,6 @@ - - @@ -148,11 +146,8 @@ - - - @@ -191,8 +186,6 @@ - - @@ -230,7 +223,6 @@ - @@ -296,12 +288,9 @@ - - - @@ -347,7 +336,6 @@ - @@ -375,12 +363,9 @@ - - -