diff --git a/Directory.Packages.props b/Directory.Packages.props
index 39484ae..2827f4f 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -28,7 +28,7 @@
-
+
@@ -59,4 +59,4 @@
-
\ No newline at end of file
+
diff --git a/MessagingService.BusinessLogic.Tests/DomainEventHanders/EmailDomainEventHandlerTests.cs b/MessagingService.BusinessLogic.Tests/DomainEventHanders/EmailDomainEventHandlerTests.cs
index 2ceb13e..b723ffd 100644
--- a/MessagingService.BusinessLogic.Tests/DomainEventHanders/EmailDomainEventHandlerTests.cs
+++ b/MessagingService.BusinessLogic.Tests/DomainEventHanders/EmailDomainEventHandlerTests.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
using System.Text;
using MediatR;
@@ -8,7 +8,7 @@ namespace MessagingService.BusinessLogic.Tests.DomainEventHanders
using BusinessLogic.Services.EmailServices;
using EmailMessageAggregate;
using EventHandling;
- using Moq;
+ using Imposter.Abstractions;
using System.Threading.Tasks;
using Shared.DomainDrivenDesign.EventSourcing;
using Shared.EventStore.Aggregate;
@@ -16,20 +16,20 @@ namespace MessagingService.BusinessLogic.Tests.DomainEventHanders
using Xunit;
public class EmailDomainEventHandlerTests {
- private Mock Mediator;
- private Mock EmailServiceProxy;
+ private IMediatorImposter Mediator;
+ private IEmailServiceProxyImposter EmailServiceProxy;
private EmailDomainEventHandler EmailDomainEventHandler;
public EmailDomainEventHandlerTests() {
- this.Mediator = new Mock();
- this.EmailServiceProxy = new Mock();
+ this.Mediator = new IMediatorImposter();
+ this.EmailServiceProxy = new IEmailServiceProxyImposter();
this.EmailDomainEventHandler =
- new EmailDomainEventHandler(this.Mediator.Object, this.EmailServiceProxy.Object);
+ new EmailDomainEventHandler(this.Mediator.Instance(), this.EmailServiceProxy.Instance());
}
[Fact]
public async Task EmailDomainEventHandler_Handle_ResponseReceivedFromProviderEvent_Delivered_EventIsHandled()
{
- this.EmailServiceProxy.Setup(e => e.GetMessageStatus(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny()))
+ this.EmailServiceProxy.GetMessageStatus(Arg.Any(), Arg.Any(), Arg.Any(), Arg.Any())
.ReturnsAsync(TestData.MessageStatusResponseDelivered);
await this.EmailDomainEventHandler.Handle(TestData.ResponseReceivedFromEmailProviderEvent, CancellationToken.None);
@@ -38,7 +38,7 @@ public async Task EmailDomainEventHandler_Handle_ResponseReceivedFromProviderEve
[Fact]
public async Task EmailDomainEventHandler_Handle_ResponseReceivedFromProviderEvent_Failed_EventIsHandled()
{
- this.EmailServiceProxy.Setup(e => e.GetMessageStatus(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny()))
+ this.EmailServiceProxy.GetMessageStatus(Arg.Any(), Arg.Any(), Arg.Any(), Arg.Any())
.ReturnsAsync(TestData.MessageStatusResponseFailed);
await this.EmailDomainEventHandler.Handle(TestData.ResponseReceivedFromEmailProviderEvent, CancellationToken.None);
@@ -47,7 +47,7 @@ public async Task EmailDomainEventHandler_Handle_ResponseReceivedFromProviderEve
[Fact]
public async Task EmailDomainEventHandler_Handle_ResponseReceivedFromProviderEvent_Rejected_EventIsHandled()
{
- this.EmailServiceProxy.Setup(e => e.GetMessageStatus(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny()))
+ this.EmailServiceProxy.GetMessageStatus(Arg.Any(), Arg.Any(), Arg.Any(), Arg.Any())
.ReturnsAsync(TestData.MessageStatusResponseRejected);
await this.EmailDomainEventHandler.Handle(TestData.ResponseReceivedFromEmailProviderEvent, CancellationToken.None);
@@ -56,7 +56,7 @@ public async Task EmailDomainEventHandler_Handle_ResponseReceivedFromProviderEve
[Fact]
public async Task EmailDomainEventHandler_Handle_ResponseReceivedFromProviderEvent_Bounced_EventIsHandled()
{
- this.EmailServiceProxy.Setup(e => e.GetMessageStatus(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny()))
+ this.EmailServiceProxy.GetMessageStatus(Arg.Any(), Arg.Any(), Arg.Any(), Arg.Any())
.ReturnsAsync(TestData.MessageStatusResponseBounced);
await this.EmailDomainEventHandler.Handle(TestData.ResponseReceivedFromEmailProviderEvent, CancellationToken.None);
@@ -65,7 +65,7 @@ public async Task EmailDomainEventHandler_Handle_ResponseReceivedFromProviderEve
[Fact]
public async Task EmailDomainEventHandler_Handle_ResponseReceivedFromProviderEvent_Spam_EventIsHandled()
{
- this.EmailServiceProxy.Setup(e => e.GetMessageStatus(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny()))
+ this.EmailServiceProxy.GetMessageStatus(Arg.Any(), Arg.Any(), Arg.Any(), Arg.Any())
.ReturnsAsync(TestData.MessageStatusResponseSpam);
await this.EmailDomainEventHandler.Handle(TestData.ResponseReceivedFromEmailProviderEvent, CancellationToken.None);
@@ -74,7 +74,7 @@ public async Task EmailDomainEventHandler_Handle_ResponseReceivedFromProviderEve
[Fact]
public async Task EmailDomainEventHandler_Handle_ResponseReceivedFromProviderEvent_Unknown_EventIsHandled()
{
- this.EmailServiceProxy.Setup(e => e.GetMessageStatus(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny()))
+ this.EmailServiceProxy.GetMessageStatus(Arg.Any(), Arg.Any(), Arg.Any(), Arg.Any())
.ReturnsAsync(TestData.MessageStatusResponseUnknown);
await this.EmailDomainEventHandler.Handle(TestData.ResponseReceivedFromEmailProviderEvent, CancellationToken.None);
diff --git a/MessagingService.BusinessLogic.Tests/DomainEventHanders/SMSDomainEventHandlerTests.cs b/MessagingService.BusinessLogic.Tests/DomainEventHanders/SMSDomainEventHandlerTests.cs
index a818260..6fe576d 100644
--- a/MessagingService.BusinessLogic.Tests/DomainEventHanders/SMSDomainEventHandlerTests.cs
+++ b/MessagingService.BusinessLogic.Tests/DomainEventHanders/SMSDomainEventHandlerTests.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
using System.Text;
namespace MessagingService.BusinessLogic.Tests.DomainEventHanders
@@ -7,7 +7,7 @@ namespace MessagingService.BusinessLogic.Tests.DomainEventHanders
using BusinessLogic.Services.EmailServices;
using EmailMessageAggregate;
using EventHandling;
- using Moq;
+ using Imposter.Abstractions;
using System.Threading.Tasks;
using BusinessLogic.Services.SMSServices;
using Shared.DomainDrivenDesign.EventSourcing;
@@ -19,21 +19,21 @@ namespace MessagingService.BusinessLogic.Tests.DomainEventHanders
public class SMSDomainEventHandlerTests
{
- private Mock Mediator;
- private Mock SMSServiceProxy;
+ private IMediatorImposter Mediator;
+ private ISMSServiceProxyImposter SMSServiceProxy;
private SMSDomainEventHandler SMSDomainEventHandler;
public SMSDomainEventHandlerTests()
{
- this.Mediator = new Mock();
- this.SMSServiceProxy = new Mock();
+ this.Mediator = new IMediatorImposter();
+ this.SMSServiceProxy = new ISMSServiceProxyImposter();
this.SMSDomainEventHandler =
- new SMSDomainEventHandler(this.Mediator.Object, this.SMSServiceProxy.Object);
+ new SMSDomainEventHandler(this.Mediator.Instance(), this.SMSServiceProxy.Instance());
}
[Fact]
public async Task SMSDomainEventHandler_Handle_ResponseReceivedFromProviderEvent_Delivered_EventIsHandled()
{
- this.SMSServiceProxy.Setup(e => e.GetMessageStatus(It.IsAny(), It.IsAny()))
+ this.SMSServiceProxy.GetMessageStatus(Arg.Any(), Arg.Any())
.ReturnsAsync(TestData.SMSMessageStatusResponseDelivered);
await SMSDomainEventHandler.Handle(TestData.ResponseReceivedFromSMSProviderEvent, CancellationToken.None);
@@ -42,7 +42,7 @@ public async Task SMSDomainEventHandler_Handle_ResponseReceivedFromProviderEvent
[Fact]
public async Task SMSDomainEventHandler_Handle_ResponseReceivedFromProviderEvent_Expired_EventIsHandled()
{
- this.SMSServiceProxy.Setup(e => e.GetMessageStatus(It.IsAny(), It.IsAny()))
+ this.SMSServiceProxy.GetMessageStatus(Arg.Any(), Arg.Any())
.ReturnsAsync(TestData.SMSMessageStatusResponseExpired);
await SMSDomainEventHandler.Handle(TestData.ResponseReceivedFromSMSProviderEvent, CancellationToken.None);
@@ -51,7 +51,7 @@ public async Task SMSDomainEventHandler_Handle_ResponseReceivedFromProviderEvent
[Fact]
public async Task SMSDomainEventHandler_Handle_ResponseReceivedFromProviderEvent_Rejected_EventIsHandled()
{
- this.SMSServiceProxy.Setup(e => e.GetMessageStatus(It.IsAny(), It.IsAny()))
+ this.SMSServiceProxy.GetMessageStatus(Arg.Any(), Arg.Any())
.ReturnsAsync(TestData.SMSMessageStatusResponseRejected);
await SMSDomainEventHandler.Handle(TestData.ResponseReceivedFromSMSProviderEvent, CancellationToken.None);
@@ -60,7 +60,7 @@ public async Task SMSDomainEventHandler_Handle_ResponseReceivedFromProviderEvent
[Fact]
public async Task SMSDomainEventHandler_Handle_ResponseReceivedFromProviderEvent_Undelivered_EventIsHandled()
{
- this.SMSServiceProxy.Setup(e => e.GetMessageStatus(It.IsAny(), It.IsAny()))
+ this.SMSServiceProxy.GetMessageStatus(Arg.Any(), Arg.Any())
.ReturnsAsync(TestData.SMSMessageStatusResponseUndelivered);
await this.SMSDomainEventHandler.Handle(TestData.ResponseReceivedFromSMSProviderEvent, CancellationToken.None);
diff --git a/MessagingService.BusinessLogic.Tests/ImposterDeclarations.cs b/MessagingService.BusinessLogic.Tests/ImposterDeclarations.cs
new file mode 100644
index 0000000..a7aee53
--- /dev/null
+++ b/MessagingService.BusinessLogic.Tests/ImposterDeclarations.cs
@@ -0,0 +1,13 @@
+using Imposter.Abstractions;
+using MediatR;
+using Microsoft.AspNetCore.Hosting;
+using MessagingService.BusinessLogic.Services.EmailServices;
+using MessagingService.BusinessLogic.Services.SMSServices;
+using Shared.DomainDrivenDesign.EventSourcing;
+using Shared.EventStore.Aggregate;
+
+[assembly: GenerateImposter(typeof(IAggregateRepository<,>))]
+[assembly: GenerateImposter(typeof(IEmailServiceProxy))]
+[assembly: GenerateImposter(typeof(ISMSServiceProxy))]
+[assembly: GenerateImposter(typeof(IMediator))]
+[assembly: GenerateImposter(typeof(IWebHostEnvironment))]
diff --git a/MessagingService.BusinessLogic.Tests/Mediator/MediatorTests.cs b/MessagingService.BusinessLogic.Tests/Mediator/MediatorTests.cs
index b5b492a..557d5de 100644
--- a/MessagingService.BusinessLogic.Tests/Mediator/MediatorTests.cs
+++ b/MessagingService.BusinessLogic.Tests/Mediator/MediatorTests.cs
@@ -1,8 +1,8 @@
-using MediatR;
+using MediatR;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
-using Moq;
+using Imposter.Abstractions;
using System;
using System.Collections.Generic;
using System.Diagnostics;
@@ -34,16 +34,16 @@ public MediatorTests() {
[Fact]
public async Task Mediator_Send_RequestHandled() {
- Mock hostingEnvironment = new();
- hostingEnvironment.Setup(he => he.EnvironmentName).Returns("Development");
- hostingEnvironment.Setup(he => he.ContentRootPath).Returns("/home");
- hostingEnvironment.Setup(he => he.ApplicationName).Returns("Test Application");
+ IWebHostEnvironmentImposter hostingEnvironment = new();
+ hostingEnvironment.EnvironmentName.Getter().Returns("Development");
+ hostingEnvironment.ContentRootPath.Getter().Returns("/home");
+ hostingEnvironment.ApplicationName.Getter().Returns("Test Application");
ServiceRegistry services = new();
- Startup s = new(hostingEnvironment.Object);
+ Startup s = new(hostingEnvironment.Instance());
Startup.Configuration = this.SetupMemoryConfiguration();
- this.AddTestRegistrations(services, hostingEnvironment.Object);
+ this.AddTestRegistrations(services, hostingEnvironment.Instance());
s.ConfigureContainer(services);
//Startup.Container.AssertConfigurationIsValid(AssertMode.Full);
diff --git a/MessagingService.BusinessLogic.Tests/MessagingService.BusinessLogic.Tests.csproj b/MessagingService.BusinessLogic.Tests/MessagingService.BusinessLogic.Tests.csproj
index bfb15e8..8156cb9 100644
--- a/MessagingService.BusinessLogic.Tests/MessagingService.BusinessLogic.Tests.csproj
+++ b/MessagingService.BusinessLogic.Tests/MessagingService.BusinessLogic.Tests.csproj
@@ -10,7 +10,7 @@
-
+
all
diff --git a/MessagingService.BusinessLogic.Tests/Services/MessagingDomainServiceTests.cs b/MessagingService.BusinessLogic.Tests/Services/MessagingDomainServiceTests.cs
index 9962bc3..226e986 100644
--- a/MessagingService.BusinessLogic.Tests/Services/MessagingDomainServiceTests.cs
+++ b/MessagingService.BusinessLogic.Tests/Services/MessagingDomainServiceTests.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
using System.Collections.Generic;
using System.Text;
using MessagingService.BusinessLogic.Requests;
@@ -12,7 +12,7 @@ namespace MessagingService.BusinessLogic.Tests.Services
using BusinessLogic.Services.SMSServices;
using EmailMessageAggregate;
using Models;
- using Moq;
+ using Imposter.Abstractions;
using Shared.DomainDrivenDesign.EventSourcing;
using Shared.EventStore.Aggregate;
using Shouldly;
@@ -26,24 +26,24 @@ public class MessagingDomainServiceTests
[Fact]
public async Task MessagingDomainService_SendEmailMessage_MessageSent()
{
- Mock> emailAggregateRepository = new();
- emailAggregateRepository.Setup(a => a.GetLatestVersion(It.IsAny(), It.IsAny())).ReturnsAsync(TestData.GetEmptyEmailAggregate());
- emailAggregateRepository.Setup(a => a.SaveChanges(It.IsAny(), It.IsAny())).ReturnsAsync(Result.Success);
- Mock> smsAggregateRepository = new();
- Mock emailServiceProxy = new();
+ IAggregateRepositoryImposter emailAggregateRepository = new();
+ emailAggregateRepository.GetLatestVersion(Arg.Any(), Arg.Any()).ReturnsAsync(TestData.GetEmptyEmailAggregate());
+ emailAggregateRepository.SaveChanges(Arg.Any(), Arg.Any()).ReturnsAsync(Result.Success());
+ IAggregateRepositoryImposter smsAggregateRepository = new();
+ IEmailServiceProxyImposter emailServiceProxy = new();
emailServiceProxy
- .Setup(e => e.SendEmail(It.IsAny(),
- It.IsAny(),
- It.IsAny>(),
- It.IsAny(),
- It.IsAny(),
- It.IsAny(),
- It.IsAny>(),
- It.IsAny())).ReturnsAsync(TestData.SuccessfulEmailServiceProxyResponse);
- Mock smsServiceProxy = new();
+ .SendEmail(Arg.Any(),
+ Arg.Any(),
+ Arg>.Any(),
+ Arg.Any(),
+ Arg.Any(),
+ Arg.Any(),
+ Arg>.Any(),
+ Arg.Any()).ReturnsAsync(TestData.SuccessfulEmailServiceProxyResponse);
+ ISMSServiceProxyImposter smsServiceProxy = new();
MessagingDomainService messagingDomainService =
- new(emailAggregateRepository.Object, smsAggregateRepository.Object, emailServiceProxy.Object, smsServiceProxy.Object);
+ new(emailAggregateRepository.Instance(), smsAggregateRepository.Instance(), emailServiceProxy.Instance(), smsServiceProxy.Instance());
var result = await messagingDomainService.SendEmailMessage(TestData.SendEmailCommand,
TestData.EmailAttachmentModels,
@@ -55,23 +55,23 @@ public async Task MessagingDomainService_SendEmailMessage_MessageSent()
[Fact]
public async Task MessagingDomainService_SendEmailMessage_SecondSend_MessageNotSent()
{
- Mock> emailAggregateRepository = new();
- emailAggregateRepository.Setup(a => a.GetLatestVersion(It.IsAny(), It.IsAny())).ReturnsAsync(TestData.GetSentEmailAggregate());
- emailAggregateRepository.Setup(a => a.SaveChanges(It.IsAny(), It.IsAny())).ReturnsAsync(Result.Success);
- Mock> smsAggregateRepository = new();
- Mock emailServiceProxy = new();
+ IAggregateRepositoryImposter emailAggregateRepository = new();
+ emailAggregateRepository.GetLatestVersion(Arg.Any(), Arg.Any()).ReturnsAsync(TestData.GetSentEmailAggregate());
+ emailAggregateRepository.SaveChanges(Arg.Any(), Arg.Any()).ReturnsAsync(Result.Success());
+ IAggregateRepositoryImposter smsAggregateRepository = new();
+ IEmailServiceProxyImposter emailServiceProxy = new();
emailServiceProxy
- .Setup(e => e.SendEmail(It.IsAny(),
- It.IsAny(),
- It.IsAny>(),
- It.IsAny(),
- It.IsAny(),
- It.IsAny(),
- It.IsAny>(),
- It.IsAny())).ReturnsAsync(TestData.SuccessfulEmailServiceProxyResponse);
- Mock smsServiceProxy = new();
-
- MessagingDomainService messagingDomainService = new(emailAggregateRepository.Object, smsAggregateRepository.Object, emailServiceProxy.Object, smsServiceProxy.Object);
+ .SendEmail(Arg.Any(),
+ Arg.Any(),
+ Arg>.Any(),
+ Arg.Any(),
+ Arg.Any(),
+ Arg.Any(),
+ Arg>.Any(),
+ Arg.Any()).ReturnsAsync(TestData.SuccessfulEmailServiceProxyResponse);
+ ISMSServiceProxyImposter smsServiceProxy = new();
+
+ MessagingDomainService messagingDomainService = new(emailAggregateRepository.Instance(), smsAggregateRepository.Instance(), emailServiceProxy.Instance(), smsServiceProxy.Instance());
var result = await messagingDomainService.SendEmailMessage(TestData.SendEmailCommand,
TestData.EmailAttachmentModels,
@@ -82,24 +82,24 @@ public async Task MessagingDomainService_SendEmailMessage_SecondSend_MessageNotS
[Fact] public async Task MessagingDomainService_SendEmailMessage_SaveFailed_MessageSent()
{
- Mock> emailAggregateRepository = new();
- emailAggregateRepository.Setup(a => a.GetLatestVersion(It.IsAny(), It.IsAny())).ReturnsAsync(TestData.GetEmptyEmailAggregate());
- emailAggregateRepository.Setup(a => a.SaveChanges(It.IsAny(), It.IsAny())).ReturnsAsync(Result.Failure);
- Mock> smsAggregateRepository = new();
- Mock emailServiceProxy = new();
+ IAggregateRepositoryImposter emailAggregateRepository = new();
+ emailAggregateRepository.GetLatestVersion(Arg.Any(), Arg.Any()).ReturnsAsync(TestData.GetEmptyEmailAggregate());
+ emailAggregateRepository.SaveChanges(Arg.Any(), Arg.Any()).ReturnsAsync(Result.Failure());
+ IAggregateRepositoryImposter smsAggregateRepository = new();
+ IEmailServiceProxyImposter emailServiceProxy = new();
emailServiceProxy
- .Setup(e => e.SendEmail(It.IsAny(),
- It.IsAny(),
- It.IsAny>(),
- It.IsAny(),
- It.IsAny(),
- It.IsAny(),
- It.IsAny>(),
- It.IsAny())).ReturnsAsync(TestData.SuccessfulEmailServiceProxyResponse);
- Mock smsServiceProxy = new();
+ .SendEmail(Arg.Any(),
+ Arg.Any(),
+ Arg>.Any(),
+ Arg.Any(),
+ Arg.Any(),
+ Arg.Any(),
+ Arg>.Any(),
+ Arg.Any()).ReturnsAsync(TestData.SuccessfulEmailServiceProxyResponse);
+ ISMSServiceProxyImposter smsServiceProxy = new();
MessagingDomainService messagingDomainService =
- new(emailAggregateRepository.Object, smsAggregateRepository.Object, emailServiceProxy.Object, smsServiceProxy.Object);
+ new(emailAggregateRepository.Instance(), smsAggregateRepository.Instance(), emailServiceProxy.Instance(), smsServiceProxy.Instance());
await messagingDomainService.SendEmailMessage(TestData.SendEmailCommand,
TestData.EmailAttachmentModels,
@@ -109,23 +109,23 @@ await messagingDomainService.SendEmailMessage(TestData.SendEmailCommand,
[Fact]
public async Task MessagingDomainService_SendEmailMessage_EmailSentFailed_APICallFailed_MessageFailed()
{
- Mock> emailAggregateRepository = new();
- emailAggregateRepository.Setup(a => a.GetLatestVersion(It.IsAny(), It.IsAny())).ReturnsAsync(TestData.GetEmptyEmailAggregate());
- Mock> smsAggregateRepository = new();
- Mock emailServiceProxy = new();
+ IAggregateRepositoryImposter emailAggregateRepository = new();
+ emailAggregateRepository.GetLatestVersion(Arg.Any(), Arg.Any()).ReturnsAsync(TestData.GetEmptyEmailAggregate());
+ IAggregateRepositoryImposter smsAggregateRepository = new();
+ IEmailServiceProxyImposter emailServiceProxy = new();
emailServiceProxy
- .Setup(e => e.SendEmail(It.IsAny(),
- It.IsAny(),
- It.IsAny>(),
- It.IsAny(),
- It.IsAny(),
- It.IsAny(),
- It.IsAny>(),
- It.IsAny())).ReturnsAsync(TestData.FailedAPICallEmailServiceProxyResponse);
- Mock smsServiceProxy = new();
+ .SendEmail(Arg.Any(),
+ Arg.Any(),
+ Arg>.Any(),
+ Arg.Any(),
+ Arg.Any(),
+ Arg.Any(),
+ Arg>.Any(),
+ Arg.Any()).ReturnsAsync(TestData.FailedAPICallEmailServiceProxyResponse);
+ ISMSServiceProxyImposter smsServiceProxy = new();
MessagingDomainService messagingDomainService =
- new(emailAggregateRepository.Object, smsAggregateRepository.Object, emailServiceProxy.Object, smsServiceProxy.Object);
+ new(emailAggregateRepository.Instance(), smsAggregateRepository.Instance(), emailServiceProxy.Instance(), smsServiceProxy.Instance());
await messagingDomainService.SendEmailMessage(TestData.SendEmailCommand,
TestData.EmailAttachmentModels,
@@ -135,23 +135,23 @@ await messagingDomainService.SendEmailMessage(TestData.SendEmailCommand,
[Fact]
public async Task MessagingDomainService_SendEmailMessage_EmailSentFailed_APIResponseError_MessageFailed()
{
- Mock> emailAggregateRepository = new();
- emailAggregateRepository.Setup(a => a.GetLatestVersion(It.IsAny(), It.IsAny())).ReturnsAsync(TestData.GetEmptyEmailAggregate());
- Mock> smsAggregateRepository = new();
- Mock emailServiceProxy = new();
+ IAggregateRepositoryImposter emailAggregateRepository = new();
+ emailAggregateRepository.GetLatestVersion(Arg.Any(), Arg.Any()).ReturnsAsync(TestData.GetEmptyEmailAggregate());
+ IAggregateRepositoryImposter smsAggregateRepository = new();
+ IEmailServiceProxyImposter emailServiceProxy = new();
emailServiceProxy
- .Setup(e => e.SendEmail(It.IsAny(),
- It.IsAny(),
- It.IsAny>(),
- It.IsAny(),
- It.IsAny(),
- It.IsAny(),
- It.IsAny>(),
- It.IsAny())).ReturnsAsync(TestData.FailedEmailServiceProxyResponse);
- Mock smsServiceProxy = new();
+ .SendEmail(Arg.Any(),
+ Arg.Any(),
+ Arg>.Any(),
+ Arg.Any(),
+ Arg.Any(),
+ Arg.Any(),
+ Arg>.Any(),
+ Arg.Any()).ReturnsAsync(TestData.FailedEmailServiceProxyResponse);
+ ISMSServiceProxyImposter smsServiceProxy = new();
MessagingDomainService messagingDomainService =
- new(emailAggregateRepository.Object, smsAggregateRepository.Object, emailServiceProxy.Object, smsServiceProxy.Object);
+ new(emailAggregateRepository.Instance(), smsAggregateRepository.Instance(), emailServiceProxy.Instance(), smsServiceProxy.Instance());
await messagingDomainService.SendEmailMessage(TestData.SendEmailCommand,
TestData.EmailAttachmentModels,
@@ -161,23 +161,23 @@ await messagingDomainService.SendEmailMessage(TestData.SendEmailCommand,
[Fact]
public async Task MessagingDomainService_ResendEmailMessage_MessageSent()
{
- Mock> emailAggregateRepository = new();
- emailAggregateRepository.Setup(a => a.GetLatestVersion(It.IsAny(), It.IsAny())).ReturnsAsync(TestData.GetSentEmailAggregate());
- Mock> smsAggregateRepository = new();
- Mock emailServiceProxy = new();
+ IAggregateRepositoryImposter emailAggregateRepository = new();
+ emailAggregateRepository.GetLatestVersion(Arg.Any(), Arg.Any()).ReturnsAsync(TestData.GetSentEmailAggregate());
+ IAggregateRepositoryImposter smsAggregateRepository = new();
+ IEmailServiceProxyImposter emailServiceProxy = new();
emailServiceProxy
- .Setup(e => e.SendEmail(It.IsAny(),
- It.IsAny(),
- It.IsAny>(),
- It.IsAny(),
- It.IsAny(),
- It.IsAny(),
- It.IsAny>(),
- It.IsAny())).ReturnsAsync(TestData.SuccessfulEmailServiceProxyResponse);
- Mock smsServiceProxy = new();
+ .SendEmail(Arg.Any(),
+ Arg.Any(),
+ Arg>.Any(),
+ Arg.Any(),
+ Arg.Any(),
+ Arg.Any(),
+ Arg>.Any(),
+ Arg.Any()).ReturnsAsync(TestData.SuccessfulEmailServiceProxyResponse);
+ ISMSServiceProxyImposter smsServiceProxy = new();
MessagingDomainService messagingDomainService =
- new MessagingDomainService(emailAggregateRepository.Object, smsAggregateRepository.Object, emailServiceProxy.Object, smsServiceProxy.Object);
+ new MessagingDomainService(emailAggregateRepository.Instance(), smsAggregateRepository.Instance(), emailServiceProxy.Instance(), smsServiceProxy.Instance());
await messagingDomainService.ResendEmailMessage(TestData.ConnectionIdentifier,
TestData.MessageId,
@@ -187,23 +187,23 @@ await messagingDomainService.ResendEmailMessage(TestData.ConnectionIdentifier,
[Fact]
public async Task MessagingDomainService_ResendEmailMessage_APICallFailed_MessageFailed()
{
- Mock> emailAggregateRepository = new();
- emailAggregateRepository.Setup(a => a.GetLatestVersion(It.IsAny(), It.IsAny())).ReturnsAsync(TestData.GetSentEmailAggregate());
- Mock> smsAggregateRepository = new();
- Mock emailServiceProxy = new();
+ IAggregateRepositoryImposter emailAggregateRepository = new();
+ emailAggregateRepository.GetLatestVersion(Arg.Any(), Arg.Any()).ReturnsAsync(TestData.GetSentEmailAggregate());
+ IAggregateRepositoryImposter smsAggregateRepository = new();
+ IEmailServiceProxyImposter emailServiceProxy = new();
emailServiceProxy
- .Setup(e => e.SendEmail(It.IsAny(),
- It.IsAny(),
- It.IsAny>(),
- It.IsAny