From 6cceb044d6ece35a145b8131bceab303e8b502ea Mon Sep 17 00:00:00 2001 From: Stuart Ferguson Date: Sun, 26 Apr 2020 09:40:53 +0100 Subject: [PATCH] Some more unit tests added --- .../EmailAggregateDomainEventTests.cs | 44 +++++++++++++++++++ .../{UnitTest1.cs => EmailAggregateTests.cs} | 1 - .../RequestSentToProviderEvent.cs | 10 +++++ .../ResponseReceivedFromProvider.cs | 10 +++++ 4 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 MessagingService.EmailAggregate.Tests/EmailAggregateDomainEventTests.cs rename MessagingService.EmailAggregate.Tests/{UnitTest1.cs => EmailAggregateTests.cs} (99%) diff --git a/MessagingService.EmailAggregate.Tests/EmailAggregateDomainEventTests.cs b/MessagingService.EmailAggregate.Tests/EmailAggregateDomainEventTests.cs new file mode 100644 index 0000000..24f732c --- /dev/null +++ b/MessagingService.EmailAggregate.Tests/EmailAggregateDomainEventTests.cs @@ -0,0 +1,44 @@ +namespace MessagingService.EmailAggregate.Tests +{ + using System; + using EmailMessage.DomainEvents; + using Shouldly; + using Testing; + using Xunit; + + public class EmailAggregateDomainEventTests + { + [Fact] + public void RequestSentToProviderEvent_CanBeCreated_IsCreated() + { + RequestSentToProviderEvent requestSentToProviderEvent = RequestSentToProviderEvent.Create(TestData.MessageId, TestData.FromAddress, TestData.ToAddresses, TestData.Subject, + TestData.Body,TestData.IsHtmlTrue); + + requestSentToProviderEvent.ShouldNotBeNull(); + requestSentToProviderEvent.AggregateId.ShouldBe(TestData.MessageId); + requestSentToProviderEvent.EventCreatedDateTime.ShouldNotBe(DateTime.MinValue); + requestSentToProviderEvent.EventId.ShouldNotBe(Guid.Empty); + requestSentToProviderEvent.MessageId.ShouldBe(TestData.MessageId); + requestSentToProviderEvent.FromAddress.ShouldBe(TestData.FromAddress); + requestSentToProviderEvent.ToAddresses.ShouldBe(TestData.ToAddresses); + requestSentToProviderEvent.Subject.ShouldBe(TestData.Subject); + requestSentToProviderEvent.Body.ShouldBe(TestData.Body); + requestSentToProviderEvent.IsHtml.ShouldBe(TestData.IsHtmlTrue); + + } + + [Fact] + public void ResponseReceivedFromProviderEvent_CanBeCreated_IsCreated() + { + ResponseReceivedFromProviderEvent requestSentToProviderEvent = ResponseReceivedFromProviderEvent.Create(TestData.MessageId, TestData.ProviderRequestReference, TestData.ProviderEmailReference); + + requestSentToProviderEvent.ShouldNotBeNull(); + requestSentToProviderEvent.AggregateId.ShouldBe(TestData.MessageId); + requestSentToProviderEvent.EventCreatedDateTime.ShouldNotBe(DateTime.MinValue); + requestSentToProviderEvent.EventId.ShouldNotBe(Guid.Empty); + requestSentToProviderEvent.MessageId.ShouldBe(TestData.MessageId); + requestSentToProviderEvent.ProviderRequestReference.ShouldBe(TestData.ProviderRequestReference); + requestSentToProviderEvent.ProviderEmailReference.ShouldBe(TestData.ProviderEmailReference); + } + } +} \ No newline at end of file diff --git a/MessagingService.EmailAggregate.Tests/UnitTest1.cs b/MessagingService.EmailAggregate.Tests/EmailAggregateTests.cs similarity index 99% rename from MessagingService.EmailAggregate.Tests/UnitTest1.cs rename to MessagingService.EmailAggregate.Tests/EmailAggregateTests.cs index 6f46b39..e2172cc 100644 --- a/MessagingService.EmailAggregate.Tests/UnitTest1.cs +++ b/MessagingService.EmailAggregate.Tests/EmailAggregateTests.cs @@ -1,4 +1,3 @@ -using System; using Xunit; namespace MessagingService.EmailAggregate.Tests diff --git a/MessagingService.EmailMessage.DomainEvents/RequestSentToProviderEvent.cs b/MessagingService.EmailMessage.DomainEvents/RequestSentToProviderEvent.cs index 8b40d5d..43d9a95 100644 --- a/MessagingService.EmailMessage.DomainEvents/RequestSentToProviderEvent.cs +++ b/MessagingService.EmailMessage.DomainEvents/RequestSentToProviderEvent.cs @@ -41,6 +41,7 @@ private RequestSentToProviderEvent(Guid aggregateId, String body, Boolean isHtml) : base(aggregateId, eventId) { + this.MessageId = aggregateId; this.FromAddress = fromAddress; this.ToAddresses = toAddresses; this.Subject = subject; @@ -79,6 +80,15 @@ private RequestSentToProviderEvent(Guid aggregateId, [JsonProperty] public Boolean IsHtml { get; private set; } + /// + /// Gets the message identifier. + /// + /// + /// The message identifier. + /// + [JsonProperty] + public Guid MessageId { get; private set; } + /// /// Gets the subject. /// diff --git a/MessagingService.EmailMessage.DomainEvents/ResponseReceivedFromProvider.cs b/MessagingService.EmailMessage.DomainEvents/ResponseReceivedFromProvider.cs index 1e96555..6d51cb6 100644 --- a/MessagingService.EmailMessage.DomainEvents/ResponseReceivedFromProvider.cs +++ b/MessagingService.EmailMessage.DomainEvents/ResponseReceivedFromProvider.cs @@ -34,6 +34,7 @@ private ResponseReceivedFromProviderEvent(Guid aggregateId, String providerRequestReference, String providerEmailReference) : base(aggregateId, eventId) { + this.MessageId = aggregateId; this.ProviderRequestReference = providerRequestReference; this.ProviderEmailReference = providerEmailReference; } @@ -42,6 +43,15 @@ private ResponseReceivedFromProviderEvent(Guid aggregateId, #region Properties + /// + /// Gets the message identifier. + /// + /// + /// The message identifier. + /// + [JsonProperty] + public Guid MessageId { get; private set; } + /// /// Gets the provider email reference. ///