diff --git a/src/Umbraco.Tests/Persistence/Repositories/PublicAccessRepositoryTest.cs b/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Persistence/Repositories/PublicAccessRepositoryTest.cs similarity index 78% rename from src/Umbraco.Tests/Persistence/Repositories/PublicAccessRepositoryTest.cs rename to src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Persistence/Repositories/PublicAccessRepositoryTest.cs index d2f606c973..542959ef98 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/PublicAccessRepositoryTest.cs +++ b/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Persistence/Repositories/PublicAccessRepositoryTest.cs @@ -4,28 +4,36 @@ using System.Linq; using Microsoft.Extensions.Logging; using NUnit.Framework; using Umbraco.Core.Configuration.Models; +using Umbraco.Core.IO; using Umbraco.Core.Models; using Umbraco.Core.Persistence; +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.Integration.Testing; using Umbraco.Tests.TestHelpers; using Umbraco.Tests.TestHelpers.Entities; using Umbraco.Tests.Testing; using Content = Umbraco.Core.Models.Content; -namespace Umbraco.Tests.Persistence.Repositories +namespace Umbraco.Tests.Integration.Umbraco.Infrastructure.Persistence.Repositories { [TestFixture] [UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest)] - public class PublicAccessRepositoryTest : TestWithDatabaseBase + public class PublicAccessRepositoryTest : UmbracoIntegrationTest { + private IContentTypeRepository ContentTypeRepository => GetRequiredService(); + private DocumentRepository DocumentRepository => (DocumentRepository) GetRequiredService(); + [Test] public void Can_Delete() { var content = CreateTestData(3).ToArray(); - var provider = TestObjects.GetScopeProvider(LoggerFactory); + var provider = ScopeProvider; using (var scope = provider.CreateScope()) { var repo = new PublicAccessRepository((IScopeAccessor) provider, AppCaches, LoggerFactory.CreateLogger()); @@ -54,7 +62,7 @@ namespace Umbraco.Tests.Persistence.Repositories { var content = CreateTestData(3).ToArray(); - var provider = TestObjects.GetScopeProvider(LoggerFactory); + var provider = ScopeProvider; using (var scope = provider.CreateScope()) { scope.Database.AsUmbracoDatabase().EnableSqlTrace = true; @@ -94,7 +102,7 @@ namespace Umbraco.Tests.Persistence.Repositories { var content = CreateTestData(3).ToArray(); - var provider = TestObjects.GetScopeProvider(LoggerFactory); + var provider = ScopeProvider; using (var scope = provider.CreateScope()) { scope.Database.AsUmbracoDatabase().EnableSqlTrace = true; @@ -140,7 +148,7 @@ namespace Umbraco.Tests.Persistence.Repositories { var content = CreateTestData(3).ToArray(); - var provider = TestObjects.GetScopeProvider(LoggerFactory); + var provider = ScopeProvider; using (var scope = provider.CreateScope()) { var repo = new PublicAccessRepository((IScopeAccessor) provider, AppCaches, LoggerFactory.CreateLogger()); @@ -178,7 +186,7 @@ namespace Umbraco.Tests.Persistence.Repositories { var content = CreateTestData(3).ToArray(); - var provider = TestObjects.GetScopeProvider(LoggerFactory); + var provider = ScopeProvider; using (var scope = provider.CreateScope()) { var repo = new PublicAccessRepository((IScopeAccessor) provider, AppCaches, LoggerFactory.CreateLogger()); @@ -206,7 +214,7 @@ namespace Umbraco.Tests.Persistence.Repositories { var content = CreateTestData(30).ToArray(); - var provider = TestObjects.GetScopeProvider(LoggerFactory); + var provider = ScopeProvider; using (var scope = provider.CreateScope()) { var repo = new PublicAccessRepository((IScopeAccessor) provider, AppCaches, LoggerFactory.CreateLogger()); @@ -270,7 +278,7 @@ namespace Umbraco.Tests.Persistence.Repositories { var content = CreateTestData(3).ToArray(); - var provider = TestObjects.GetScopeProvider(LoggerFactory); + var provider = ScopeProvider; using (var scope = provider.CreateScope()) { var repo = new PublicAccessRepository((IScopeAccessor) provider, AppCaches, LoggerFactory.CreateLogger()); @@ -302,41 +310,19 @@ namespace Umbraco.Tests.Persistence.Repositories } } - - private DocumentRepository CreateRepository(IScopeProvider provider, out ContentTypeRepository contentTypeRepository) - { - var accessor = (IScopeAccessor) provider; - var globalSettings = new GlobalSettings(); - var templateRepository = new TemplateRepository(accessor, AppCaches, LoggerFactory.CreateLogger(), TestObjects.GetFileSystemsMock(), IOHelper, ShortStringHelper); - var tagRepository = new TagRepository(accessor, AppCaches, LoggerFactory.CreateLogger()); - var commonRepository = new ContentTypeCommonRepository(accessor, templateRepository, AppCaches, ShortStringHelper); - var languageRepository = new LanguageRepository(accessor, AppCaches, LoggerFactory.CreateLogger(), Microsoft.Extensions.Options.Options.Create(globalSettings)); - contentTypeRepository = new ContentTypeRepository(accessor, AppCaches, LoggerFactory.CreateLogger(), commonRepository, languageRepository, ShortStringHelper); - var relationTypeRepository = new RelationTypeRepository(accessor, AppCaches, LoggerFactory.CreateLogger()); - var entityRepository = new EntityRepository(accessor); - var relationRepository = new RelationRepository(accessor, LoggerFactory.CreateLogger(), relationTypeRepository, entityRepository); - var propertyEditors = new Lazy(() => new PropertyEditorCollection(new DataEditorCollection(Enumerable.Empty()))); - var dataValueReferences = new DataValueReferenceFactoryCollection(Enumerable.Empty()); - var repository = new DocumentRepository(accessor, AppCaches, LoggerFactory.CreateLogger(), LoggerFactory, contentTypeRepository, templateRepository, tagRepository, languageRepository, relationRepository, relationTypeRepository, propertyEditors, dataValueReferences, DataTypeService); - return repository; - } - private IEnumerable CreateTestData(int count) { - var provider = TestObjects.GetScopeProvider(LoggerFactory); + var provider = ScopeProvider; using (var scope = provider.CreateScope()) { - ContentTypeRepository ctRepo; - var repo = CreateRepository(provider, out ctRepo); - - var ct = MockedContentTypes.CreateBasicContentType("testing"); - ctRepo.Save(ct); + var ct = ContentTypeBuilder.CreateBasicContentType("testing"); + ContentTypeRepository.Save(ct); var result = new List(); for (int i = 0; i < count; i++) { var c = new Content("test" + i, -1, ct); - repo.Save(c); + DocumentRepository.Save(c); result.Add(c); } scope.Complete(); diff --git a/src/Umbraco.Tests/Umbraco.Tests.csproj b/src/Umbraco.Tests/Umbraco.Tests.csproj index 17fa68a213..7735e8785d 100644 --- a/src/Umbraco.Tests/Umbraco.Tests.csproj +++ b/src/Umbraco.Tests/Umbraco.Tests.csproj @@ -219,7 +219,6 @@ -