Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
using System;
using System.Collections.Generic;
using System.Linq;
using MessagingService.BusinessLogic.EventHandling;
using Moq;
using Shared.EventStore.EventHandling;
using Shouldly;
using Testing;
using Transaction.DomainEvents;
Expand All @@ -17,7 +17,7 @@ public void DomainEventHandlerResolver_CanBeCreated_IsCreated()
{
Dictionary<String, String[]> eventHandlerConfiguration = new Dictionary<String, String[]>();

eventHandlerConfiguration.Add("TestEventType1", new String[] { "TransactionProcessor.BusinessLogic.EventHandling.TransactionDomainEventHandler" });
eventHandlerConfiguration.Add("TestEventType1", new String[] { "TransactionProcessor.BusinessLogic.EventHandling.TransactionDomainEventHandler, TransactionProcessor.BusinessLogic" });

Mock<IDomainEventHandler> domainEventHandler = new Mock<IDomainEventHandler>();
Func<Type, IDomainEventHandler> createDomainEventHandlerFunc = (type) => { return domainEventHandler.Object; };
Expand All @@ -31,7 +31,7 @@ public void DomainEventHandlerResolver_CanBeCreated_InvalidEventHandlerType_Erro
{
Dictionary<String, String[]> eventHandlerConfiguration = new Dictionary<String, String[]>();

eventHandlerConfiguration.Add("TestEventType1", new String[] { "TransactionProcessor.BusinessLogic.EventHandling.NonExistantDomainEventHandler" });
eventHandlerConfiguration.Add("TestEventType1", new String[] { "TransactionProcessor.BusinessLogic.EventHandling.NonExistantDomainEventHandler, TransactionProcessor.BusinessLogic" });

Mock<IDomainEventHandler> domainEventHandler = new Mock<IDomainEventHandler>();
Func<Type, IDomainEventHandler> createDomainEventHandlerFunc = (type) => { return domainEventHandler.Object; };
Expand All @@ -42,12 +42,12 @@ public void DomainEventHandlerResolver_CanBeCreated_InvalidEventHandlerType_Erro
[Fact]
public void DomainEventHandlerResolver_GetDomainEventHandlers_TransactionHasBeenCompletedEvent_EventHandlersReturned()
{
String handlerTypeName = "TransactionProcessor.BusinessLogic.EventHandling.TransactionDomainEventHandler";
String handlerTypeName = "TransactionProcessor.BusinessLogic.EventHandling.TransactionDomainEventHandler, TransactionProcessor.BusinessLogic";
Dictionary<String, String[]> eventHandlerConfiguration = new Dictionary<String, String[]>();

TransactionHasBeenCompletedEvent transactionHasBeenCompletedEvent = TestData.TransactionHasBeenCompletedEvent;

eventHandlerConfiguration.Add(transactionHasBeenCompletedEvent.GetType().FullName, new String[] { handlerTypeName });
eventHandlerConfiguration.Add(transactionHasBeenCompletedEvent.GetType().Name, new String[] { handlerTypeName });

Mock<IDomainEventHandler> domainEventHandler = new Mock<IDomainEventHandler>();
Func<Type, IDomainEventHandler> createDomainEventHandlerFunc = (type) => { return domainEventHandler.Object; };
Expand All @@ -64,7 +64,7 @@ public void DomainEventHandlerResolver_GetDomainEventHandlers_TransactionHasBeen
[Fact]
public void DomainEventHandlerResolver_GetDomainEventHandlers_TransactionHasBeenCompletedEvent_EventNotConfigured_EventHandlersReturned()
{
String handlerTypeName = "TransactionProcessor.BusinessLogic.EventHandling.TransactionDomainEventHandler";
String handlerTypeName = "TransactionProcessor.BusinessLogic.EventHandling.TransactionDomainEventHandler, TransactionProcessor.BusinessLogic";
Dictionary<String, String[]> eventHandlerConfiguration = new Dictionary<String, String[]>();

TransactionHasBeenCompletedEvent transactionHasBeenCompletedEvent = TestData.TransactionHasBeenCompletedEvent;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ namespace TransactionProcessor.BusinessLogic.Tests.Services
using BusinessLogic.Services;
using Models;
using Moq;
using Shared.DomainDrivenDesign.EventSourcing;
using Shared.EventStore.Aggregate;
using Shared.EventStore.EventStore;
using Shouldly;
using Testing;
Expand All @@ -21,7 +23,7 @@ public class TransactionAggregateManagerTests
[Fact]
public async Task TransactionAggregateManager_AuthoriseTransaction_TransactionAuthorised()
{
Mock<IAggregateRepository<TransactionAggregate>> aggregateRepository = new Mock<IAggregateRepository<TransactionAggregate>>();
Mock<IAggregateRepository<TransactionAggregate, DomainEventRecord.DomainEvent>> aggregateRepository = new Mock<IAggregateRepository<TransactionAggregate, DomainEventRecord.DomainEvent>>();
aggregateRepository.Setup(a => a.GetLatestVersion(It.IsAny<Guid>(), It.IsAny<CancellationToken>())).ReturnsAsync(TestData.GetStartedTransactionAggregate());
TransactionAggregateManager transactionAggregateManager = new TransactionAggregateManager(aggregateRepository.Object);

Expand All @@ -37,7 +39,7 @@ await transactionAggregateManager.AuthoriseTransaction(TestData.EstateId,
[Fact]
public async Task TransactionAggregateManager_AuthoriseTransactionLocally_TransactionLocallyAuthorised()
{
Mock<IAggregateRepository<TransactionAggregate>> aggregateRepository = new Mock<IAggregateRepository<TransactionAggregate>>();
Mock<IAggregateRepository<TransactionAggregate, DomainEventRecord.DomainEvent>> aggregateRepository = new Mock<IAggregateRepository<TransactionAggregate, DomainEventRecord.DomainEvent>>();
aggregateRepository.Setup(a => a.GetLatestVersion(It.IsAny<Guid>(), It.IsAny<CancellationToken>())).ReturnsAsync(TestData.GetStartedTransactionAggregate());
TransactionAggregateManager transactionAggregateManager = new TransactionAggregateManager(aggregateRepository.Object);

Expand All @@ -51,7 +53,7 @@ await transactionAggregateManager.AuthoriseTransactionLocally(TestData.EstateId,
[Fact]
public async Task TransactionAggregateManager_DeclineTransaction_TransactionDeclined()
{
Mock<IAggregateRepository<TransactionAggregate>> aggregateRepository = new Mock<IAggregateRepository<TransactionAggregate>>();
Mock<IAggregateRepository<TransactionAggregate, DomainEventRecord.DomainEvent>> aggregateRepository = new Mock<IAggregateRepository<TransactionAggregate, DomainEventRecord.DomainEvent>>();
aggregateRepository.Setup(a => a.GetLatestVersion(It.IsAny<Guid>(), It.IsAny<CancellationToken>())).ReturnsAsync(TestData.GetStartedTransactionAggregate());
TransactionAggregateManager transactionAggregateManager = new TransactionAggregateManager(aggregateRepository.Object);

Expand All @@ -67,7 +69,7 @@ await transactionAggregateManager.DeclineTransaction(TestData.EstateId,
[Fact]
public async Task TransactionAggregateManager_DeclineTransactionLocally_TransactionLocallyDeclined()
{
Mock<IAggregateRepository<TransactionAggregate>> aggregateRepository = new Mock<IAggregateRepository<TransactionAggregate>>();
Mock<IAggregateRepository<TransactionAggregate, DomainEventRecord.DomainEvent>> aggregateRepository = new Mock<IAggregateRepository<TransactionAggregate, DomainEventRecord.DomainEvent>>();
aggregateRepository.Setup(a => a.GetLatestVersion(It.IsAny<Guid>(), It.IsAny<CancellationToken>())).ReturnsAsync(TestData.GetStartedTransactionAggregate());
TransactionAggregateManager transactionAggregateManager = new TransactionAggregateManager(aggregateRepository.Object);

Expand All @@ -80,7 +82,7 @@ await transactionAggregateManager.DeclineTransactionLocally(TestData.EstateId,
[Fact]
public async Task TransactionAggregateManager_GetAggregate_AggregateReturned()
{
Mock<IAggregateRepository<TransactionAggregate>> aggregateRepository = new Mock<IAggregateRepository<TransactionAggregate>>();
Mock<IAggregateRepository<TransactionAggregate, DomainEventRecord.DomainEvent>> aggregateRepository = new Mock<IAggregateRepository<TransactionAggregate, DomainEventRecord.DomainEvent>>();
aggregateRepository.Setup(a => a.GetLatestVersion(It.IsAny<Guid>(), It.IsAny<CancellationToken>())).ReturnsAsync(TestData.GetCompletedLogonTransactionAggregate);
TransactionAggregateManager transactionAggregateManager = new TransactionAggregateManager(aggregateRepository.Object);

Expand All @@ -94,7 +96,7 @@ public async Task TransactionAggregateManager_GetAggregate_AggregateReturned()
[Fact]
public async Task TransactionAggregateManager_RecordAdditionalRequestData_AdditionalRequestDataRecorded()
{
Mock<IAggregateRepository<TransactionAggregate>> aggregateRepository = new Mock<IAggregateRepository<TransactionAggregate>>();
Mock<IAggregateRepository<TransactionAggregate, DomainEventRecord.DomainEvent>> aggregateRepository = new Mock<IAggregateRepository<TransactionAggregate, DomainEventRecord.DomainEvent>>();
aggregateRepository.Setup(a => a.GetLatestVersion(It.IsAny<Guid>(), It.IsAny<CancellationToken>())).ReturnsAsync(TestData.GetStartedTransactionAggregate());
TransactionAggregateManager transactionAggregateManager = new TransactionAggregateManager(aggregateRepository.Object);

Expand All @@ -108,7 +110,7 @@ await transactionAggregateManager.RecordAdditionalRequestData(TestData.EstateId,
[Fact]
public async Task TransactionAggregateManager_RecordAdditionalRequestData_NullAdditionalRequestData_NoActionPerformed()
{
Mock<IAggregateRepository<TransactionAggregate>> aggregateRepository = new Mock<IAggregateRepository<TransactionAggregate>>();
Mock<IAggregateRepository<TransactionAggregate, DomainEventRecord.DomainEvent>> aggregateRepository = new Mock<IAggregateRepository<TransactionAggregate, DomainEventRecord.DomainEvent>>();
aggregateRepository.Setup(a => a.GetLatestVersion(It.IsAny<Guid>(), It.IsAny<CancellationToken>())).ReturnsAsync(TestData.GetStartedTransactionAggregate());
TransactionAggregateManager transactionAggregateManager = new TransactionAggregateManager(aggregateRepository.Object);

Expand All @@ -122,7 +124,7 @@ await transactionAggregateManager.RecordAdditionalRequestData(TestData.EstateId,
[Fact]
public async Task TransactionAggregateManager_RecordAdditionalRequestData_EmptyAdditionalRequestData_NoActionPerformed()
{
Mock<IAggregateRepository<TransactionAggregate>> aggregateRepository = new Mock<IAggregateRepository<TransactionAggregate>>();
Mock<IAggregateRepository<TransactionAggregate, DomainEventRecord.DomainEvent>> aggregateRepository = new Mock<IAggregateRepository<TransactionAggregate, DomainEventRecord.DomainEvent>>();
aggregateRepository.Setup(a => a.GetLatestVersion(It.IsAny<Guid>(), It.IsAny<CancellationToken>())).ReturnsAsync(TestData.GetStartedTransactionAggregate());
TransactionAggregateManager transactionAggregateManager = new TransactionAggregateManager(aggregateRepository.Object);

Expand All @@ -136,7 +138,7 @@ await transactionAggregateManager.RecordAdditionalRequestData(TestData.EstateId,
[Fact]
public async Task TransactionAggregateManager_RecordAdditionalResponseData_AdditionalResponseDataRecorded()
{
Mock<IAggregateRepository<TransactionAggregate>> aggregateRepository = new Mock<IAggregateRepository<TransactionAggregate>>();
Mock<IAggregateRepository<TransactionAggregate, DomainEventRecord.DomainEvent>> aggregateRepository = new Mock<IAggregateRepository<TransactionAggregate, DomainEventRecord.DomainEvent>>();
aggregateRepository.Setup(a => a.GetLatestVersion(It.IsAny<Guid>(), It.IsAny<CancellationToken>())).ReturnsAsync(TestData.GetStartedTransactionAggregate());
TransactionAggregateManager transactionAggregateManager = new TransactionAggregateManager(aggregateRepository.Object);

Expand All @@ -150,7 +152,7 @@ await transactionAggregateManager.RecordAdditionalResponseData(TestData.EstateId
[Fact]
public async Task TransactionAggregateManager_RecordAdditionalResponseData_NullAdditionalResponseData_NoActionPerformed()
{
Mock<IAggregateRepository<TransactionAggregate>> aggregateRepository = new Mock<IAggregateRepository<TransactionAggregate>>();
Mock<IAggregateRepository<TransactionAggregate, DomainEventRecord.DomainEvent>> aggregateRepository = new Mock<IAggregateRepository<TransactionAggregate, DomainEventRecord.DomainEvent>>();
aggregateRepository.Setup(a => a.GetLatestVersion(It.IsAny<Guid>(), It.IsAny<CancellationToken>())).ReturnsAsync(TestData.GetStartedTransactionAggregate());
TransactionAggregateManager transactionAggregateManager = new TransactionAggregateManager(aggregateRepository.Object);

Expand All @@ -164,7 +166,7 @@ await transactionAggregateManager.RecordAdditionalResponseData(TestData.EstateId
[Fact]
public async Task TransactionAggregateManager_RecordAdditionalResponseData_EmptyAdditionalResponseData_NoActionPerformed()
{
Mock<IAggregateRepository<TransactionAggregate>> aggregateRepository = new Mock<IAggregateRepository<TransactionAggregate>>();
Mock<IAggregateRepository<TransactionAggregate, DomainEventRecord.DomainEvent>> aggregateRepository = new Mock<IAggregateRepository<TransactionAggregate, DomainEventRecord.DomainEvent>>();
aggregateRepository.Setup(a => a.GetLatestVersion(It.IsAny<Guid>(), It.IsAny<CancellationToken>())).ReturnsAsync(TestData.GetStartedTransactionAggregate());
TransactionAggregateManager transactionAggregateManager = new TransactionAggregateManager(aggregateRepository.Object);

Expand All @@ -180,7 +182,7 @@ await transactionAggregateManager.RecordAdditionalResponseData(TestData.EstateId
[InlineData(TransactionType.Sale)]
public async Task TransactionAggregateManager_StartTransaction_TransactionStarted(TransactionType transactionType)
{
Mock<IAggregateRepository<TransactionAggregate>> aggregateRepository = new Mock<IAggregateRepository<TransactionAggregate>>();
Mock<IAggregateRepository<TransactionAggregate, DomainEventRecord.DomainEvent>> aggregateRepository = new Mock<IAggregateRepository<TransactionAggregate, DomainEventRecord.DomainEvent>>();
aggregateRepository.Setup(a => a.GetLatestVersion(It.IsAny<Guid>(), It.IsAny<CancellationToken>())).ReturnsAsync(TestData.GetEmptyTransactionAggregate);
TransactionAggregateManager transactionAggregateManager = new TransactionAggregateManager(aggregateRepository.Object);

Expand All @@ -199,7 +201,7 @@ await transactionAggregateManager.StartTransaction(TestData.TransactionId,
[Fact]
public async Task TransactionAggregateManager_CompleteTransaction_TransactionCompleted()
{
Mock<IAggregateRepository<TransactionAggregate>> aggregateRepository = new Mock<IAggregateRepository<TransactionAggregate>>();
Mock<IAggregateRepository<TransactionAggregate, DomainEventRecord.DomainEvent>> aggregateRepository = new Mock<IAggregateRepository<TransactionAggregate, DomainEventRecord.DomainEvent>>();
aggregateRepository.Setup(a => a.GetLatestVersion(It.IsAny<Guid>(), It.IsAny<CancellationToken>())).ReturnsAsync(TestData.GetLocallyAuthorisedTransactionAggregate);
TransactionAggregateManager transactionAggregateManager = new TransactionAggregateManager(aggregateRepository.Object);

Expand All @@ -211,7 +213,7 @@ await transactionAggregateManager.CompleteTransaction(TestData.EstateId,
[Fact]
public async Task TransactionAggregateManager_RequestEmailReceipt_EmailRecieptRequested()
{
Mock<IAggregateRepository<TransactionAggregate>> aggregateRepository = new Mock<IAggregateRepository<TransactionAggregate>>();
Mock<IAggregateRepository<TransactionAggregate, DomainEventRecord.DomainEvent>> aggregateRepository = new Mock<IAggregateRepository<TransactionAggregate, DomainEventRecord.DomainEvent>>();
aggregateRepository.Setup(a => a.GetLatestVersion(It.IsAny<Guid>(), It.IsAny<CancellationToken>())).ReturnsAsync(TestData.GetCompletedLogonTransactionAggregate);
TransactionAggregateManager transactionAggregateManager = new TransactionAggregateManager(aggregateRepository.Object);

Expand All @@ -224,7 +226,7 @@ await transactionAggregateManager.RequestEmailReceipt(TestData.EstateId,
[Fact]
public async Task TransactionAggregateManager_AddProductDetails_ProductDetailsAddedToTransaction()
{
Mock<IAggregateRepository<TransactionAggregate>> aggregateRepository = new Mock<IAggregateRepository<TransactionAggregate>>();
Mock<IAggregateRepository<TransactionAggregate, DomainEventRecord.DomainEvent>> aggregateRepository = new Mock<IAggregateRepository<TransactionAggregate, DomainEventRecord.DomainEvent>>();
aggregateRepository.Setup(a => a.GetLatestVersion(It.IsAny<Guid>(), It.IsAny<CancellationToken>())).ReturnsAsync(TestData.GetStartedTransactionAggregate());
TransactionAggregateManager transactionAggregateManager = new TransactionAggregateManager(aggregateRepository.Object);

Expand All @@ -238,7 +240,7 @@ await transactionAggregateManager.AddProductDetails(TestData.EstateId,
[Fact]
public async Task TransactionAggregateManager_AddFee_FeeAddedToTransaction()
{
Mock<IAggregateRepository<TransactionAggregate>> aggregateRepository = new Mock<IAggregateRepository<TransactionAggregate>>();
Mock<IAggregateRepository<TransactionAggregate, DomainEventRecord.DomainEvent>> aggregateRepository = new Mock<IAggregateRepository<TransactionAggregate, DomainEventRecord.DomainEvent>>();
aggregateRepository.Setup(a => a.GetLatestVersion(It.IsAny<Guid>(), It.IsAny<CancellationToken>())).ReturnsAsync(TestData.GetCompletedAuthorisedSaleTransactionAggregate);
TransactionAggregateManager transactionAggregateManager = new TransactionAggregateManager(aggregateRepository.Object);

Expand Down
Loading