From 39b7df9dd1a49f112491c6d7914ce3501a563362 Mon Sep 17 00:00:00 2001 From: Steven Giesel Date: Sat, 15 Jan 2022 15:06:27 +0100 Subject: [PATCH] Don't update blogpost when same reference --- src/LinkDotNet.Blog.Domain/BlogPost.cs | 7 ++++++- .../Domain/BlogPostTests.cs | 13 ++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/LinkDotNet.Blog.Domain/BlogPost.cs b/src/LinkDotNet.Blog.Domain/BlogPost.cs index 65ed25d1..a0c6d2a2 100644 --- a/src/LinkDotNet.Blog.Domain/BlogPost.cs +++ b/src/LinkDotNet.Blog.Domain/BlogPost.cs @@ -51,6 +51,11 @@ public static BlogPost Create( public void Update(BlogPost from) { + if (from == this) + { + return; + } + Title = from.Title; ShortDescription = from.ShortDescription; Content = from.Content; @@ -75,4 +80,4 @@ private void ReplaceTags(IEnumerable tags) } } } -} +} \ No newline at end of file diff --git a/tests/LinkDotNet.Blog.UnitTests/Domain/BlogPostTests.cs b/tests/LinkDotNet.Blog.UnitTests/Domain/BlogPostTests.cs index 10aa0d91..729d6b6f 100644 --- a/tests/LinkDotNet.Blog.UnitTests/Domain/BlogPostTests.cs +++ b/tests/LinkDotNet.Blog.UnitTests/Domain/BlogPostTests.cs @@ -59,4 +59,15 @@ public void ShouldSetDateWhenGiven() blog.UpdatedDate.Should().Be(somewhen); } -} + + [Fact] + public void ShouldNotDeleteTagsWhenSameReference() + { + var bp = new BlogPostBuilder().WithTags("tag 1").Build(); + + bp.Update(bp); + + bp.Tags.Should().HaveCount(1); + bp.Tags.Single().Content.Should().Be("tag 1"); + } +} \ No newline at end of file