From cdf009de0f4405846c93e03ea490a935e8877a7a Mon Sep 17 00:00:00 2001 From: Mole Date: Thu, 22 Oct 2020 09:48:34 +0200 Subject: [PATCH] Migrate TagRepositoryTest --- .../Repositories/TagRepositoryTest.cs | 451 +++++++++--------- src/Umbraco.Tests/Umbraco.Tests.csproj | 1 - 2 files changed, 216 insertions(+), 236 deletions(-) rename src/{Umbraco.Tests => Umbraco.Tests.Integration/Umbraco.Infrastructure}/Persistence/Repositories/TagRepositoryTest.cs (60%) diff --git a/src/Umbraco.Tests/Persistence/Repositories/TagRepositoryTest.cs b/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Persistence/Repositories/TagRepositoryTest.cs similarity index 60% rename from src/Umbraco.Tests/Persistence/Repositories/TagRepositoryTest.cs rename to src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Persistence/Repositories/TagRepositoryTest.cs index 5037541fae..47164a0ee0 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/TagRepositoryTest.cs +++ b/src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Persistence/Repositories/TagRepositoryTest.cs @@ -1,29 +1,32 @@ -using System; -using System.Linq; +using System.Linq; using Microsoft.Extensions.Logging; -using Moq; using NUnit.Framework; using Umbraco.Core.Cache; -using Umbraco.Core.Configuration.Models; 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.Tests.TestHelpers; -using Umbraco.Tests.TestHelpers.Entities; +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.Umbraco.Infrastructure.Persistence.Repositories { [TestFixture] [UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest)] - public class TagRepositoryTest : TestWithDatabaseBase + public class TagRepositoryTest : UmbracoIntegrationTest { + private IFileService FileService => GetRequiredService(); + private IContentTypeRepository ContentTypeRepository => GetRequiredService(); + private IDocumentRepository DocumentRepository => GetRequiredService(); + private IMediaRepository MediaRepository => GetRequiredService(); + private IMediaTypeRepository MediaTypeRepository => GetRequiredService(); + [Test] public void Can_Perform_Add_On_Repository() { - var provider = TestObjects.GetScopeProvider(LoggerFactory); + var provider = ScopeProvider; using (ScopeProvider.CreateScope()) { var repository = CreateRepository(provider); @@ -43,7 +46,7 @@ namespace Umbraco.Tests.Persistence.Repositories [Test] public void Can_Perform_Multiple_Adds_On_Repository() { - var provider = TestObjects.GetScopeProvider(LoggerFactory); + var provider = ScopeProvider; using (ScopeProvider.CreateScope()) { var repository = CreateRepository(provider); @@ -73,18 +76,19 @@ namespace Umbraco.Tests.Persistence.Repositories [Test] public void Can_Create_Tag_Relations() { - var provider = TestObjects.GetScopeProvider(LoggerFactory); + var provider = ScopeProvider; using (ScopeProvider.CreateScope()) { - var contentRepository = CreateDocumentRepository(provider, out var contentTypeRepository); - // create data to relate to - var contentType = MockedContentTypes.CreateSimpleContentType("test", "Test"); - ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType! - contentTypeRepository.Save(contentType); + // We have to create and save a template, otherwise we get an FK violation on contentType. + var template = TemplateBuilder.CreateTextPageTemplate(); + FileService.SaveTemplate(template); - var content = MockedContent.CreateSimpleContent(contentType); - contentRepository.Save(content); + var contentType = ContentTypeBuilder.CreateSimpleContentType("test", "Test", defaultTemplateId: template.Id); + ContentTypeRepository.Save(contentType); + + var content = ContentBuilder.CreateSimpleContent(contentType); + DocumentRepository.Save(content); var repository = CreateRepository(provider); repository.Assign( @@ -103,18 +107,19 @@ namespace Umbraco.Tests.Persistence.Repositories [Test] public void Can_Append_Tag_Relations() { - var provider = TestObjects.GetScopeProvider(LoggerFactory); + var provider = ScopeProvider; using (ScopeProvider.CreateScope()) { - var contentRepository = CreateDocumentRepository(provider, out var contentTypeRepository); - //create data to relate to - var contentType = MockedContentTypes.CreateSimpleContentType("test", "Test"); - ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType! - contentTypeRepository.Save(contentType); + // We have to create and save a template, otherwise we get an FK violation on contentType. + var template = TemplateBuilder.CreateTextPageTemplate(); + FileService.SaveTemplate(template); - var content = MockedContent.CreateSimpleContent(contentType); - contentRepository.Save(content); + var contentType = ContentTypeBuilder.CreateSimpleContentType("test", "Test", defaultTemplateId: template.Id); + ContentTypeRepository.Save(contentType); + + var content = ContentBuilder.CreateSimpleContent(contentType); + DocumentRepository.Save(content); var repository = CreateRepository(provider); repository.Assign( @@ -142,18 +147,19 @@ namespace Umbraco.Tests.Persistence.Repositories [Test] public void Can_Replace_Tag_Relations() { - var provider = TestObjects.GetScopeProvider(LoggerFactory); + var provider = ScopeProvider; using (ScopeProvider.CreateScope()) { - var contentRepository = CreateDocumentRepository(provider, out var contentTypeRepository); - //create data to relate to - var contentType = MockedContentTypes.CreateSimpleContentType("test", "Test"); - ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType! - contentTypeRepository.Save(contentType); + // We have to create and save a template, otherwise we get an FK violation on contentType. + var template = TemplateBuilder.CreateTextPageTemplate(); + FileService.SaveTemplate(template); - var content = MockedContent.CreateSimpleContent(contentType); - contentRepository.Save(content); + var contentType = ContentTypeBuilder.CreateSimpleContentType("test", "Test", defaultTemplateId: template.Id); + ContentTypeRepository.Save(contentType); + + var content = ContentBuilder.CreateSimpleContent(contentType); + DocumentRepository.Save(content); var repository = CreateRepository(provider); repository.Assign( @@ -184,18 +190,19 @@ namespace Umbraco.Tests.Persistence.Repositories [Test] public void Can_Merge_Tag_Relations() { - var provider = TestObjects.GetScopeProvider(LoggerFactory); + var provider = ScopeProvider; using (ScopeProvider.CreateScope()) { - var contentRepository = CreateDocumentRepository(provider, out var contentTypeRepository); - //create data to relate to - var contentType = MockedContentTypes.CreateSimpleContentType("test", "Test"); - ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType! - contentTypeRepository.Save(contentType); + // We have to create and save a template, otherwise we get an FK violation on contentType. + var template = TemplateBuilder.CreateTextPageTemplate(); + FileService.SaveTemplate(template); - var content = MockedContent.CreateSimpleContent(contentType); - contentRepository.Save(content); + var contentType = ContentTypeBuilder.CreateSimpleContentType("test", "Test", defaultTemplateId: template.Id); + ContentTypeRepository.Save(contentType); + + var content = ContentBuilder.CreateSimpleContent(contentType); + DocumentRepository.Save(content); var repository = CreateRepository(provider); repository.Assign( @@ -224,18 +231,19 @@ namespace Umbraco.Tests.Persistence.Repositories [Test] public void Can_Clear_Tag_Relations() { - var provider = TestObjects.GetScopeProvider(LoggerFactory); + var provider = ScopeProvider; using (ScopeProvider.CreateScope()) { - var contentRepository = CreateDocumentRepository(provider, out var contentTypeRepository); - //create data to relate to - var contentType = MockedContentTypes.CreateSimpleContentType("test", "Test"); - ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType! - contentTypeRepository.Save(contentType); + // We have to create and save a template, otherwise we get an FK violation on contentType. + var template = TemplateBuilder.CreateTextPageTemplate(); + FileService.SaveTemplate(template); - var content = MockedContent.CreateSimpleContent(contentType); - contentRepository.Save(content); + var contentType = ContentTypeBuilder.CreateSimpleContentType("test", "Test", defaultTemplateId: template.Id); + ContentTypeRepository.Save(contentType); + + var content = ContentBuilder.CreateSimpleContent(contentType); + DocumentRepository.Save(content); var repository = CreateRepository(provider); repository.Assign( @@ -260,18 +268,19 @@ namespace Umbraco.Tests.Persistence.Repositories [Test] public void Can_Remove_Specific_Tags_From_Property() { - var provider = TestObjects.GetScopeProvider(LoggerFactory); + var provider = ScopeProvider; using (ScopeProvider.CreateScope()) { - var contentRepository = CreateDocumentRepository(provider, out var contentTypeRepository); - //create data to relate to - var contentType = MockedContentTypes.CreateSimpleContentType("test", "Test"); - ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType! - contentTypeRepository.Save(contentType); + // We have to create and save a template, otherwise we get an FK violation on contentType. + var template = TemplateBuilder.CreateTextPageTemplate(); + FileService.SaveTemplate(template); - var content = MockedContent.CreateSimpleContent(contentType); - contentRepository.Save(content); + var contentType = ContentTypeBuilder.CreateSimpleContentType("test", "Test", defaultTemplateId: template.Id); + ContentTypeRepository.Save(contentType); + + var content = ContentBuilder.CreateSimpleContent(contentType); + DocumentRepository.Save(content); var repository = CreateRepository(provider); repository.Assign( @@ -304,20 +313,21 @@ namespace Umbraco.Tests.Persistence.Repositories [Test] public void Can_Get_Tags_For_Content_By_Id() { - var provider = TestObjects.GetScopeProvider(LoggerFactory); + var provider = ScopeProvider; using (ScopeProvider.CreateScope()) { - var contentRepository = CreateDocumentRepository(provider, out var contentTypeRepository); - //create data to relate to - var contentType = MockedContentTypes.CreateSimpleContentType("test", "Test"); - ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType! - contentTypeRepository.Save(contentType); + // We have to create and save a template, otherwise we get an FK violation on contentType. + var template = TemplateBuilder.CreateTextPageTemplate(); + FileService.SaveTemplate(template); - var content1 = MockedContent.CreateSimpleContent(contentType); - contentRepository.Save(content1); - var content2 = MockedContent.CreateSimpleContent(contentType); - contentRepository.Save(content2); + var contentType = ContentTypeBuilder.CreateSimpleContentType("test", "Test", defaultTemplateId: template.Id); + ContentTypeRepository.Save(contentType); + + var content1 = ContentBuilder.CreateSimpleContent(contentType); + DocumentRepository.Save(content1); + var content2 = ContentBuilder.CreateSimpleContent(contentType); + DocumentRepository.Save(content2); var repository = CreateRepository(provider); repository.Assign( @@ -348,20 +358,21 @@ namespace Umbraco.Tests.Persistence.Repositories [Test] public void Can_Get_Tags_For_Content_By_Key() { - var provider = TestObjects.GetScopeProvider(LoggerFactory); + var provider = ScopeProvider; using (ScopeProvider.CreateScope()) { - var contentRepository = CreateDocumentRepository(provider, out var contentTypeRepository); - //create data to relate to - var contentType = MockedContentTypes.CreateSimpleContentType("test", "Test"); - ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType! - contentTypeRepository.Save(contentType); + // We have to create and save a template, otherwise we get an FK violation on contentType. + var template = TemplateBuilder.CreateTextPageTemplate(); + FileService.SaveTemplate(template); - var content1 = MockedContent.CreateSimpleContent(contentType); - contentRepository.Save(content1); - var content2 = MockedContent.CreateSimpleContent(contentType); - contentRepository.Save(content2); + var contentType = ContentTypeBuilder.CreateSimpleContentType("test", "Test", defaultTemplateId: template.Id); + ContentTypeRepository.Save(contentType); + + var content1 = ContentBuilder.CreateSimpleContent(contentType); + DocumentRepository.Save(content1); + var content2 = ContentBuilder.CreateSimpleContent(contentType); + DocumentRepository.Save(content2); var repository = CreateRepository(provider); repository.Assign( @@ -393,20 +404,21 @@ namespace Umbraco.Tests.Persistence.Repositories [Test] public void Can_Get_All() { - var provider = TestObjects.GetScopeProvider(LoggerFactory); + var provider = ScopeProvider; using (ScopeProvider.CreateScope()) { - var contentRepository = CreateDocumentRepository(provider, out var contentTypeRepository); - //create data to relate to - var contentType = MockedContentTypes.CreateSimpleContentType("test", "Test"); - ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType! - contentTypeRepository.Save(contentType); + // We have to create and save a template, otherwise we get an FK violation on contentType. + var template = TemplateBuilder.CreateTextPageTemplate(); + FileService.SaveTemplate(template); - var content1 = MockedContent.CreateSimpleContent(contentType); - contentRepository.Save(content1); - var content2 = MockedContent.CreateSimpleContent(contentType); - contentRepository.Save(content2); + var contentType = ContentTypeBuilder.CreateSimpleContentType("test", "Test", defaultTemplateId: template.Id); + ContentTypeRepository.Save(contentType); + + var content1 = ContentBuilder.CreateSimpleContent(contentType); + DocumentRepository.Save(content1); + var content2 = ContentBuilder.CreateSimpleContent(contentType); + DocumentRepository.Save(content2); var repository = CreateRepository(provider); repository.Assign( @@ -428,20 +440,21 @@ namespace Umbraco.Tests.Persistence.Repositories [Test] public void Can_Get_All_With_Ids() { - var provider = TestObjects.GetScopeProvider(LoggerFactory); + var provider = ScopeProvider; using (ScopeProvider.CreateScope()) { - var contentRepository = CreateDocumentRepository(provider, out var contentTypeRepository); - //create data to relate to - var contentType = MockedContentTypes.CreateSimpleContentType("test", "Test"); - ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType! - contentTypeRepository.Save(contentType); + // We have to create and save a template, otherwise we get an FK violation on contentType. + var template = TemplateBuilder.CreateTextPageTemplate(); + FileService.SaveTemplate(template); - var content1 = MockedContent.CreateSimpleContent(contentType); - contentRepository.Save(content1); - var content2 = MockedContent.CreateSimpleContent(contentType); - contentRepository.Save(content2); + var contentType = ContentTypeBuilder.CreateSimpleContentType("test", "Test", defaultTemplateId: template.Id); + ContentTypeRepository.Save(contentType); + + var content1 = ContentBuilder.CreateSimpleContent(contentType); + DocumentRepository.Save(content1); + var content2 = ContentBuilder.CreateSimpleContent(contentType); + DocumentRepository.Save(content2); var repository = CreateRepository(provider); var tags = new[] @@ -468,20 +481,21 @@ namespace Umbraco.Tests.Persistence.Repositories [Test] public void Can_Get_Tags_For_Content_For_Group() { - var provider = TestObjects.GetScopeProvider(LoggerFactory); + var provider = ScopeProvider; using (ScopeProvider.CreateScope()) { - var contentRepository = CreateDocumentRepository(provider, out var contentTypeRepository); - //create data to relate to - var contentType = MockedContentTypes.CreateSimpleContentType("test", "Test"); - ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType! - contentTypeRepository.Save(contentType); + // We have to create and save a template, otherwise we get an FK violation on contentType. + var template = TemplateBuilder.CreateTextPageTemplate(); + FileService.SaveTemplate(template); - var content1 = MockedContent.CreateSimpleContent(contentType); - contentRepository.Save(content1); - var content2 = MockedContent.CreateSimpleContent(contentType); - contentRepository.Save(content2); + var contentType = ContentTypeBuilder.CreateSimpleContentType("test", "Test", defaultTemplateId: template.Id); + ContentTypeRepository.Save(contentType); + + var content1 = ContentBuilder.CreateSimpleContent(contentType); + DocumentRepository.Save(content1); + var content2 = ContentBuilder.CreateSimpleContent(contentType); + DocumentRepository.Save(content2); var repository = CreateRepository(provider); repository.Assign( @@ -512,18 +526,19 @@ namespace Umbraco.Tests.Persistence.Repositories [Test] public void Can_Get_Tags_For_Property_By_Id() { - var provider = TestObjects.GetScopeProvider(LoggerFactory); + var provider = ScopeProvider; using (ScopeProvider.CreateScope()) { - var contentRepository = CreateDocumentRepository(provider, out var contentTypeRepository); - //create data to relate to - var contentType = MockedContentTypes.CreateSimpleContentType("test", "Test"); - ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType! - contentTypeRepository.Save(contentType); + // We have to create and save a template, otherwise we get an FK violation on contentType. + var template = TemplateBuilder.CreateTextPageTemplate(); + FileService.SaveTemplate(template); - var content1 = MockedContent.CreateSimpleContent(contentType); - contentRepository.Save(content1); + var contentType = ContentTypeBuilder.CreateSimpleContentType("test", "Test", defaultTemplateId: template.Id); + ContentTypeRepository.Save(contentType); + + var content1 = ContentBuilder.CreateSimpleContent(contentType); + DocumentRepository.Save(content1); var repository = CreateRepository(provider); repository.Assign( @@ -556,18 +571,19 @@ namespace Umbraco.Tests.Persistence.Repositories [Test] public void Can_Get_Tags_For_Property_By_Key() { - var provider = TestObjects.GetScopeProvider(LoggerFactory); + var provider = ScopeProvider; using (ScopeProvider.CreateScope()) { - var contentRepository = CreateDocumentRepository(provider, out var contentTypeRepository); - //create data to relate to - var contentType = MockedContentTypes.CreateSimpleContentType("test", "Test"); - ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType! - contentTypeRepository.Save(contentType); + // We have to create and save a template, otherwise we get an FK violation on contentType. + var template = TemplateBuilder.CreateTextPageTemplate(); + FileService.SaveTemplate(template); - var content1 = MockedContent.CreateSimpleContent(contentType); - contentRepository.Save(content1); + var contentType = ContentTypeBuilder.CreateSimpleContentType("test", "Test", defaultTemplateId: template.Id); + ContentTypeRepository.Save(contentType); + + var content1 = ContentBuilder.CreateSimpleContent(contentType); + DocumentRepository.Save(content1); var repository = CreateRepository(provider); repository.Assign( @@ -600,18 +616,19 @@ namespace Umbraco.Tests.Persistence.Repositories [Test] public void Can_Get_Tags_For_Property_For_Group() { - var provider = TestObjects.GetScopeProvider(LoggerFactory); + var provider = ScopeProvider; using (ScopeProvider.CreateScope()) { - var contentRepository = CreateDocumentRepository(provider, out var contentTypeRepository); - //create data to relate to - var contentType = MockedContentTypes.CreateSimpleContentType("test", "Test"); - ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType! - contentTypeRepository.Save(contentType); + // We have to create and save a template, otherwise we get an FK violation on contentType. + var template = TemplateBuilder.CreateTextPageTemplate(); + FileService.SaveTemplate(template); - var content1 = MockedContent.CreateSimpleContent(contentType); - contentRepository.Save(content1); + var contentType = ContentTypeBuilder.CreateSimpleContentType("test", "Test", defaultTemplateId: template.Id); + ContentTypeRepository.Save(contentType); + + var content1 = ContentBuilder.CreateSimpleContent(contentType); + DocumentRepository.Save(content1); var repository = CreateRepository(provider); repository.Assign( @@ -645,25 +662,25 @@ namespace Umbraco.Tests.Persistence.Repositories [Test] public void Can_Get_Tags_For_Entity_Type() { - var provider = TestObjects.GetScopeProvider(LoggerFactory); + var provider = ScopeProvider; using (ScopeProvider.CreateScope()) { - var contentRepository = CreateDocumentRepository(provider, out var contentTypeRepository); - var mediaRepository = CreateMediaRepository(provider, out var mediaTypeRepository); - //create data to relate to - var contentType = MockedContentTypes.CreateSimpleContentType("test", "Test"); - ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType! - contentTypeRepository.Save(contentType); + // We have to create and save a template, otherwise we get an FK violation on contentType. + var template = TemplateBuilder.CreateTextPageTemplate(); + FileService.SaveTemplate(template); - var content1 = MockedContent.CreateSimpleContent(contentType); - contentRepository.Save(content1); + var contentType = ContentTypeBuilder.CreateSimpleContentType("test", "Test", defaultTemplateId: template.Id); + ContentTypeRepository.Save(contentType); - var mediaType = MockedContentTypes.CreateImageMediaType("image2"); - mediaTypeRepository.Save(mediaType); + var content1 = ContentBuilder.CreateSimpleContent(contentType); + DocumentRepository.Save(content1); - var media1 = MockedMedia.CreateMediaImage(mediaType, -1); - mediaRepository.Save(media1); + var mediaType = MediaTypeBuilder.CreateImageMediaType("image2"); + MediaTypeRepository.Save(mediaType); + + var media1 = MediaBuilder.CreateMediaImage(mediaType, -1); + MediaRepository.Save(media1); var repository = CreateRepository(provider); repository.Assign( @@ -702,25 +719,25 @@ namespace Umbraco.Tests.Persistence.Repositories [Test] public void Can_Get_Tags_For_Entity_Type_For_Group() { - var provider = TestObjects.GetScopeProvider(LoggerFactory); + var provider = ScopeProvider; using (ScopeProvider.CreateScope()) { - var contentRepository = CreateDocumentRepository(provider, out var contentTypeRepository); - var mediaRepository = CreateMediaRepository(provider, out var mediaTypeRepository); - //create data to relate to - var contentType = MockedContentTypes.CreateSimpleContentType("test", "Test"); - ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType! - contentTypeRepository.Save(contentType); + // We have to create and save a template, otherwise we get an FK violation on contentType. + var template = TemplateBuilder.CreateTextPageTemplate(); + FileService.SaveTemplate(template); - var content1 = MockedContent.CreateSimpleContent(contentType); - contentRepository.Save(content1); + var contentType = ContentTypeBuilder.CreateSimpleContentType("test", "Test", defaultTemplateId: template.Id); + ContentTypeRepository.Save(contentType); - var mediaType = MockedContentTypes.CreateImageMediaType("image2"); - mediaTypeRepository.Save(mediaType); + var content1 = ContentBuilder.CreateSimpleContent(contentType); + DocumentRepository.Save(content1); - var media1 = MockedMedia.CreateMediaImage(mediaType, -1); - mediaRepository.Save(media1); + var mediaType = MediaTypeBuilder.CreateImageMediaType("image2"); + MediaTypeRepository.Save(mediaType); + + var media1 = MediaBuilder.CreateMediaImage(mediaType, -1); + MediaRepository.Save(media1); var repository = CreateRepository(provider); repository.Assign( @@ -754,18 +771,19 @@ namespace Umbraco.Tests.Persistence.Repositories [Test] public void Cascade_Deletes_Tag_Relations() { - var provider = TestObjects.GetScopeProvider(LoggerFactory); + var provider = ScopeProvider; using (var scope = ScopeProvider.CreateScope()) { - var contentRepository = CreateDocumentRepository(provider, out var contentTypeRepository); - //create data to relate to - var contentType = MockedContentTypes.CreateSimpleContentType("test", "Test"); - ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType! - contentTypeRepository.Save(contentType); + // We have to create and save a template, otherwise we get an FK violation on contentType. + var template = TemplateBuilder.CreateTextPageTemplate(); + FileService.SaveTemplate(template); - var content1 = MockedContent.CreateSimpleContent(contentType); - contentRepository.Save(content1); + var contentType = ContentTypeBuilder.CreateSimpleContentType("test", "Test", defaultTemplateId: template.Id); + ContentTypeRepository.Save(contentType); + + var content1 = ContentBuilder.CreateSimpleContent(contentType); + DocumentRepository.Save(content1); var repository = CreateRepository(provider); repository.Assign( @@ -779,7 +797,7 @@ namespace Umbraco.Tests.Persistence.Repositories new Tag {Text = "tag4", Group = "test"} }, false); - contentRepository.Delete(content1); + DocumentRepository.Delete(content1); Assert.AreEqual(0, scope.Database.ExecuteScalar( "SELECT COUNT(*) FROM cmsTagRelationship WHERE nodeId=@nodeId AND propertyTypeId=@propTypeId", @@ -790,28 +808,28 @@ namespace Umbraco.Tests.Persistence.Repositories [Test] public void Can_Get_Tagged_Entities_For_Tag_Group() { - var provider = TestObjects.GetScopeProvider(LoggerFactory); + var provider = ScopeProvider; using (ScopeProvider.CreateScope()) { - var contentRepository = CreateDocumentRepository(provider, out var contentTypeRepository); - var mediaRepository = CreateMediaRepository(provider, out var mediaTypeRepository); - //create data to relate to - var contentType = MockedContentTypes.CreateSimpleContentType("test", "Test"); - ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType! - contentTypeRepository.Save(contentType); + // We have to create and save a template, otherwise we get an FK violation on contentType. + var template = TemplateBuilder.CreateTextPageTemplate(); + FileService.SaveTemplate(template); - var content1 = MockedContent.CreateSimpleContent(contentType); - contentRepository.Save(content1); + var contentType = ContentTypeBuilder.CreateSimpleContentType("test", "Test", defaultTemplateId: template.Id); + ContentTypeRepository.Save(contentType); - var content2 = MockedContent.CreateSimpleContent(contentType); - contentRepository.Save(content2); + var content1 = ContentBuilder.CreateSimpleContent(contentType); + DocumentRepository.Save(content1); - var mediaType = MockedContentTypes.CreateImageMediaType("image2"); - mediaTypeRepository.Save(mediaType); + var content2 = ContentBuilder.CreateSimpleContent(contentType); + DocumentRepository.Save(content2); - var media1 = MockedMedia.CreateMediaImage(mediaType, -1); - mediaRepository.Save(media1); + var mediaType = MediaTypeBuilder.CreateImageMediaType("image2"); + MediaTypeRepository.Save(mediaType); + + var media1 = MediaBuilder.CreateMediaImage(mediaType, -1); + MediaRepository.Save(media1); var repository = CreateRepository(provider); repository.Assign( @@ -870,31 +888,31 @@ namespace Umbraco.Tests.Persistence.Repositories [Test] public void Can_Get_Tagged_Entities_For_Tag() { - var provider = TestObjects.GetScopeProvider(LoggerFactory); + var provider = ScopeProvider; using (ScopeProvider.CreateScope()) { - var contentRepository = CreateDocumentRepository(provider, out var contentTypeRepository); - var mediaRepository = CreateMediaRepository(provider, out var mediaTypeRepository); - //create data to relate to - var contentType = MockedContentTypes.CreateSimpleContentType("test", "Test"); - ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType! - contentTypeRepository.Save(contentType); + // We have to create and save a template, otherwise we get an FK violation on contentType. + var template = TemplateBuilder.CreateTextPageTemplate(); + FileService.SaveTemplate(template); + + var contentType = ContentTypeBuilder.CreateSimpleContentType("test", "Test", defaultTemplateId: template.Id); + ContentTypeRepository.Save(contentType); - var content1 = MockedContent.CreateSimpleContent(contentType); - contentRepository.Save(content1); + var content1 = ContentBuilder.CreateSimpleContent(contentType); + DocumentRepository.Save(content1); - var content2 = MockedContent.CreateSimpleContent(contentType); - contentRepository.Save(content2); + var content2 = ContentBuilder.CreateSimpleContent(contentType); + DocumentRepository.Save(content2); - var mediaType = MockedContentTypes.CreateImageMediaType("image2"); - mediaTypeRepository.Save(mediaType); + var mediaType = MediaTypeBuilder.CreateImageMediaType("image2"); + MediaTypeRepository.Save(mediaType); - var media1 = MockedMedia.CreateMediaImage(mediaType, -1); - mediaRepository.Save(media1); + var media1 = MediaBuilder.CreateMediaImage(mediaType, -1); + MediaRepository.Save(media1); var repository = CreateRepository(provider); @@ -951,42 +969,5 @@ namespace Umbraco.Tests.Persistence.Repositories { return new TagRepository((IScopeAccessor) provider, AppCaches.Disabled, LoggerFactory.CreateLogger()); } - - private DocumentRepository CreateDocumentRepository(IScopeProvider provider, out ContentTypeRepository contentTypeRepository) - { - var accessor = (IScopeAccessor) provider; - var globalSettings = new GlobalSettings(); - var templateRepository = new TemplateRepository(accessor, AppCaches.Disabled, LoggerFactory.CreateLogger(), TestObjects.GetFileSystemsMock(), IOHelper, ShortStringHelper); - var tagRepository = new TagRepository(accessor, AppCaches.Disabled, LoggerFactory.CreateLogger()); - var commonRepository = new ContentTypeCommonRepository(accessor, templateRepository, AppCaches.Disabled, ShortStringHelper); - var languageRepository = new LanguageRepository(accessor, AppCaches.Disabled, LoggerFactory.CreateLogger(), Microsoft.Extensions.Options.Options.Create(globalSettings)); - contentTypeRepository = new ContentTypeRepository(accessor, AppCaches.Disabled, LoggerFactory.CreateLogger(), commonRepository, languageRepository, ShortStringHelper); - var relationTypeRepository = new RelationTypeRepository(accessor, AppCaches.Disabled, 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.Disabled, LoggerFactory.CreateLogger(), LoggerFactory, contentTypeRepository, templateRepository, tagRepository, languageRepository, relationRepository, relationTypeRepository, propertyEditors, dataValueReferences, DataTypeService); - return repository; - } - - private MediaRepository CreateMediaRepository(IScopeProvider provider, out MediaTypeRepository mediaTypeRepository) - { - var accessor = (IScopeAccessor) provider; - var globalSettings = new GlobalSettings(); - var templateRepository = new TemplateRepository(accessor, AppCaches.Disabled, LoggerFactory.CreateLogger(), TestObjects.GetFileSystemsMock(), IOHelper, ShortStringHelper); - var tagRepository = new TagRepository(accessor, AppCaches.Disabled, LoggerFactory.CreateLogger()); - var commonRepository = new ContentTypeCommonRepository(accessor, templateRepository, AppCaches.Disabled, ShortStringHelper); - var languageRepository = new LanguageRepository(accessor, AppCaches.Disabled, LoggerFactory.CreateLogger(), Microsoft.Extensions.Options.Options.Create(globalSettings)); - mediaTypeRepository = new MediaTypeRepository(accessor, AppCaches.Disabled, LoggerFactory.CreateLogger(), commonRepository, languageRepository, ShortStringHelper); - var relationTypeRepository = new RelationTypeRepository(accessor, AppCaches.Disabled, 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 mediaUrlGenerators = new MediaUrlGeneratorCollection(Enumerable.Empty()); - var dataValueReferences = new DataValueReferenceFactoryCollection(Enumerable.Empty()); - var repository = new MediaRepository(accessor, AppCaches.Disabled, LoggerFactory.CreateLogger(), LoggerFactory, mediaTypeRepository, tagRepository, Mock.Of(), relationRepository, relationTypeRepository, propertyEditors, mediaUrlGenerators, dataValueReferences, DataTypeService); - return repository; - } } } diff --git a/src/Umbraco.Tests/Umbraco.Tests.csproj b/src/Umbraco.Tests/Umbraco.Tests.csproj index 44f462dde4..a2bf1b678d 100644 --- a/src/Umbraco.Tests/Umbraco.Tests.csproj +++ b/src/Umbraco.Tests/Umbraco.Tests.csproj @@ -246,7 +246,6 @@ -