From 928f42be2eb9a2ae41838ec23cd695bf6c257414 Mon Sep 17 00:00:00 2001 From: Bjarke Berg Date: Sun, 11 Oct 2020 21:08:21 +0200 Subject: [PATCH] Updated tests after merge Signed-off-by: Bjarke Berg --- .../Builders/MediaBuilder.cs | 26 +++++++++++++++ .../Builders/MemberBuilder.cs | 27 +++++++++++++++ .../Repositories/RelationRepositoryTest.cs | 29 ++++++++-------- .../Services/RelationServiceTests.cs | 33 ++++++++++--------- 4 files changed, 86 insertions(+), 29 deletions(-) diff --git a/src/Umbraco.Tests.Common/Builders/MediaBuilder.cs b/src/Umbraco.Tests.Common/Builders/MediaBuilder.cs index 43229e7401..f7beb759bb 100644 --- a/src/Umbraco.Tests.Common/Builders/MediaBuilder.cs +++ b/src/Umbraco.Tests.Common/Builders/MediaBuilder.cs @@ -3,6 +3,7 @@ using Umbraco.Core.Models; using Umbraco.Tests.Common.Builders.Interfaces; using Umbraco.Tests.Common.Builders.Extensions; using Umbraco.Core; +using Umbraco.Tests.Testing; namespace Umbraco.Tests.Common.Builders { @@ -221,5 +222,30 @@ namespace Umbraco.Tests.Common.Builders get => _parentId; set => _parentId = value; } + + public static IMedia CreateSimpleMedia(IMediaType contentType, string name, int parentId) + { + var media = new MediaBuilder() + .WithMediaType(contentType) + .WithName(name) + .WithParentId(parentId) + .WithCreatorId(0) + .Build(); + ; + + object obj = + new + { + title = name + " Subpage", + bodyText = "This is a subpage", + author = "John Doe" + }; + + media.PropertyValues(obj); + + media.ResetDirtyProperties(false); + + return media; + } } } diff --git a/src/Umbraco.Tests.Common/Builders/MemberBuilder.cs b/src/Umbraco.Tests.Common/Builders/MemberBuilder.cs index 3ea051849b..06e94f92f2 100644 --- a/src/Umbraco.Tests.Common/Builders/MemberBuilder.cs +++ b/src/Umbraco.Tests.Common/Builders/MemberBuilder.cs @@ -178,6 +178,33 @@ namespace Umbraco.Tests.Common.Builders return member; } + public static IEnumerable CreateSimpleMembers(IMemberType memberType, int amount, Action onCreating = null) + { + var list = new List(); + + for (int i = 0; i < amount; i++) + { + var name = "Member No-" + i; + + var builder = new MemberBuilder() + .WithMemberType(memberType) + .WithName(name) + .WithEmail("test" + i + "@test.com") + .WithLogin("test" + i, "test" + i); + + + builder = builder + .AddPropertyData() + .WithKeyValue("title", name + " member" + i) + .WithKeyValue("bodyText", "This is a subpage" + i) + .WithKeyValue("author", "John Doe" + i) + .Done(); + + list.Add(builder.Build()); + } + + return list; + } public static Member CreateSimpleMember(IMemberType memberType, string name, string email, string password, string username, Guid? key = null) { var builder = new MemberBuilder() diff --git a/src/Umbraco.Tests.Integration/Persistence/Repositories/RelationRepositoryTest.cs b/src/Umbraco.Tests.Integration/Persistence/Repositories/RelationRepositoryTest.cs index 804c6fef90..63e4ada345 100644 --- a/src/Umbraco.Tests.Integration/Persistence/Repositories/RelationRepositoryTest.cs +++ b/src/Umbraco.Tests.Integration/Persistence/Repositories/RelationRepositoryTest.cs @@ -13,6 +13,7 @@ using Umbraco.Core.Persistence.Repositories; using Umbraco.Core.Persistence.Repositories.Implement; 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; @@ -225,9 +226,9 @@ namespace Umbraco.Tests.Persistence.Repositories public void Get_Paged_Parent_Child_Entities_With_Same_Entity_Relation() { //Create a media item and create a relationship between itself (parent -> child) - var imageType = MockedContentTypes.CreateImageMediaType("myImage"); + var imageType = MediaTypeBuilder.CreateImageMediaType("myImage"); MediaTypeService.Save(imageType); - var media = MockedMedia.CreateMediaImage(imageType, -1); + var media = MediaBuilder.CreateMediaImage(imageType, -1); MediaService.Save(media); var relType = RelationService.GetRelationTypeByAlias(Constants.Conventions.RelationTypes.RelatedMediaAlias); RelationService.Relate(media.Id, media.Id, relType); @@ -291,30 +292,30 @@ namespace Umbraco.Tests.Persistence.Repositories { //Create content createdContent = new List(); - var contentType = MockedContentTypes.CreateBasicContentType("blah"); + var contentType = ContentTypeBuilder.CreateBasicContentType("blah"); ContentTypeService.Save(contentType); for (int i = 0; i < 3; i++) { - var c1 = MockedContent.CreateBasicContent(contentType); + var c1 = ContentBuilder.CreateBasicContent(contentType); ContentService.Save(c1); createdContent.Add(c1); } //Create media createdMedia = new List(); - var imageType = MockedContentTypes.CreateImageMediaType("myImage"); + var imageType = MediaTypeBuilder.CreateImageMediaType("myImage"); MediaTypeService.Save(imageType); for (int i = 0; i < 3; i++) { - var c1 = MockedMedia.CreateMediaImage(imageType, -1); + var c1 = MediaBuilder.CreateMediaImage(imageType, -1); MediaService.Save(c1); createdMedia.Add(c1); } // Create members - var memberType = MockedContentTypes.CreateSimpleMemberType("simple"); + var memberType = MemberTypeBuilder.CreateSimpleMemberType("simple"); MemberTypeService.Save(memberType); - createdMembers = MockedMember.CreateSimpleMember(memberType, 3).ToList(); + createdMembers = MemberBuilder.CreateSimpleMembers(memberType, 3).ToList(); MemberService.Save(createdMembers); var relType = RelationService.GetRelationTypeByAlias(Constants.Conventions.RelationTypes.RelatedMediaAlias); @@ -438,21 +439,23 @@ namespace Umbraco.Tests.Persistence.Repositories relationTypeRepository.Save(_relateContent); relationTypeRepository.Save(_relateContentType); + var template = TemplateBuilder.CreateTextPageTemplate(); + FileService.SaveTemplate(template); //Create and Save ContentType "umbTextpage" -> (NodeDto.NodeIdSeed) - _contentType = MockedContentTypes.CreateSimpleContentType("umbTextpage", "Textpage"); - FileService.SaveTemplate(_contentType.DefaultTemplate); // else, FK violation on contentType! + _contentType = ContentTypeBuilder.CreateSimpleContentType("umbTextpage", "Textpage", defaultTemplateId: template.Id); + ContentTypeService.Save(_contentType); //Create and Save Content "Homepage" based on "umbTextpage" -> (NodeDto.NodeIdSeed + 1) - _textpage = MockedContent.CreateSimpleContent(_contentType); + _textpage = ContentBuilder.CreateSimpleContent(_contentType); ContentService.Save(_textpage, 0); //Create and Save Content "Text Page 1" based on "umbTextpage" -> (NodeDto.NodeIdSeed + 2) - _subpage = MockedContent.CreateSimpleContent(_contentType, "Text Page 1", _textpage.Id); + _subpage = ContentBuilder.CreateSimpleContent(_contentType, "Text Page 1", _textpage.Id); ContentService.Save(_subpage, 0); //Create and Save Content "Text Page 1" based on "umbTextpage" -> (NodeDto.NodeIdSeed + 3) - _subpage2 = MockedContent.CreateSimpleContent(_contentType, "Text Page 2", _textpage.Id); + _subpage2 = ContentBuilder.CreateSimpleContent(_contentType, "Text Page 2", _textpage.Id); ContentService.Save(_subpage2, 0); _relation = new Relation(_textpage.Id, _subpage.Id, _relateContent) { Comment = string.Empty }; diff --git a/src/Umbraco.Tests.Integration/Services/RelationServiceTests.cs b/src/Umbraco.Tests.Integration/Services/RelationServiceTests.cs index 0c5b3c8758..9fe4867fc2 100644 --- a/src/Umbraco.Tests.Integration/Services/RelationServiceTests.cs +++ b/src/Umbraco.Tests.Integration/Services/RelationServiceTests.cs @@ -7,6 +7,7 @@ using Umbraco.Core; using Umbraco.Core.Models; using Umbraco.Core.Services; using Umbraco.Core.Services.Implement; +using Umbraco.Tests.Common.Builders; using Umbraco.Tests.Integration.Testing; using Umbraco.Tests.TestHelpers; using Umbraco.Tests.TestHelpers.Entities; @@ -30,22 +31,22 @@ namespace Umbraco.Tests.Services { //Create content var createdContent = new List(); - var contentType = MockedContentTypes.CreateBasicContentType("blah"); + var contentType = ContentTypeBuilder.CreateBasicContentType("blah"); ContentTypeService.Save(contentType); for (int i = 0; i < 3; i++) { - var c1 = MockedContent.CreateBasicContent(contentType); + var c1 = ContentBuilder.CreateBasicContent(contentType); ContentService.Save(c1); createdContent.Add(c1); } //Create media var createdMedia = new List(); - var imageType = MockedContentTypes.CreateImageMediaType("myImage"); + var imageType = MediaTypeBuilder.CreateImageMediaType("myImage"); MediaTypeService.Save(imageType); for (int i = 0; i < 3; i++) { - var c1 = MockedMedia.CreateMediaImage(imageType, -1); + var c1 = MediaBuilder.CreateMediaImage(imageType, -1); MediaService.Save(c1); createdMedia.Add(c1); } @@ -75,18 +76,18 @@ namespace Umbraco.Tests.Services [Test] public void Return_List_Of_Content_Items_Where_Media_Item_Referenced() { - var mt = MockedContentTypes.CreateSimpleMediaType("testMediaType", "Test Media Type"); + var mt = MediaTypeBuilder.CreateSimpleMediaType("testMediaType", "Test Media Type"); MediaTypeService.Save(mt); - var m1 = MockedMedia.CreateSimpleMedia(mt, "hello 1", -1); + var m1 = MediaBuilder.CreateSimpleMedia(mt, "hello 1", -1); MediaService.Save(m1); - var ct = MockedContentTypes.CreateTextPageContentType("richTextTest"); + var ct = ContentTypeBuilder.CreateTextPageContentType("richTextTest"); ct.AllowedTemplates = Enumerable.Empty(); ContentTypeService.Save(ct); void createContentWithMediaRefs() { - var content = MockedContent.CreateTextpageContent(ct, "my content 2", -1); + var content = ContentBuilder.CreateTextpageContent(ct, "my content 2", -1); //'bodyText' is a property with a RTE property editor which we knows automatically tracks relations content.Properties["bodyText"].SetValue(@"

@@ -204,14 +205,14 @@ namespace Umbraco.Tests.Services var rt = new RelationType(name, alias, false, null, null); rs.Save(rt); - var ct = MockedContentTypes.CreateBasicContentType(); + var ct = ContentTypeBuilder.CreateBasicContentType(); ContentTypeService.Save(ct); - var mt = MockedContentTypes.CreateImageMediaType("img"); + var mt = MediaTypeBuilder.CreateImageMediaType("img"); MediaTypeService.Save(mt); - var c1 = MockedContent.CreateBasicContent(ct); - var c2 = MockedMedia.CreateMediaImage(mt, -1); + var c1 = ContentBuilder.CreateBasicContent(ct); + var c2 = MediaBuilder.CreateMediaImage(mt, -1); ContentService.Save(c1); MediaService.Save(c2); @@ -233,16 +234,16 @@ namespace Umbraco.Tests.Services var rt = new RelationType(rtName, rtName, false, null, null); rs.Save(rt); - var ct = MockedContentTypes.CreateBasicContentType(); + var ct = ContentTypeBuilder.CreateBasicContentType(); ContentTypeService.Save(ct); - var mt = MockedContentTypes.CreateImageMediaType("img"); + var mt = MediaTypeBuilder.CreateImageMediaType("img"); MediaTypeService.Save(mt); return Enumerable.Range(1, count).Select(index => { - var c1 = MockedContent.CreateBasicContent(ct); - var c2 = MockedMedia.CreateMediaImage(mt, -1); + var c1 = ContentBuilder.CreateBasicContent(ct); + var c2 = MediaBuilder.CreateMediaImage(mt, -1); ContentService.Save(c1); MediaService.Save(c2);