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 @@ -28,32 +28,24 @@ namespace EstateManagement.BusinessLogic.Tests.Manager

public class EstateManagementManagerTests
{
private readonly Mock<IAggregateRepository<EstateAggregate, DomainEvent>> EstateAggregateRepository;
private readonly Mock<IAggregateRepository<MerchantAggregate, DomainEvent>> MerchantAggregateRepository;
private readonly Mock<IEstateManagementRepository> EstateManagementRepository;
private readonly Mock<IEventStoreContext> EventStoreContext;
private readonly Mock<IModelFactory> ModelFactory;

private readonly EstateManagementManager EstateManagementManager;

public EstateManagementManagerTests()
{
this.EstateAggregateRepository = new Mock<IAggregateRepository<EstateAggregate, DomainEvent>>();
this.MerchantAggregateRepository = new Mock<IAggregateRepository<MerchantAggregate, DomainEvent>>();
this.EstateManagementRepository = new Mock<IEstateManagementRepository>();

this.ModelFactory = new Mock<IModelFactory>();

this.EstateManagementManager =
new EstateManagementManager(this.EstateAggregateRepository.Object,
this.MerchantAggregateRepository.Object,
this.EstateManagementRepository.Object, this.ModelFactory.Object);
new EstateManagementManager(this.EstateManagementRepository.Object, this.ModelFactory.Object);
}

[Fact]
public async Task EstateManagementManager_GetEstate_EstateIsReturned()
{
this.EstateAggregateRepository.Setup(e => e.GetLatestVersion(It.IsAny<Guid>(), It.IsAny<CancellationToken>())).ReturnsAsync(TestData.CreatedEstateAggregate);
this.EstateManagementRepository.Setup(e => e.GetEstate(It.IsAny<Guid>(), It.IsAny<CancellationToken>())).ReturnsAsync(TestData.EstateModel);

Estate estateModel = await this.EstateManagementManager.GetEstate(TestData.EstateId, CancellationToken.None);
Expand All @@ -64,18 +56,55 @@ public async Task EstateManagementManager_GetEstate_EstateIsReturned()
}

[Fact]
public async Task EstateManagementManager_GetEstate_InvalidEstateId_ErrorIsThrown()
{
this.EstateAggregateRepository.Setup(e => e.GetLatestVersion(It.IsAny<Guid>(), It.IsAny<CancellationToken>())).ReturnsAsync(TestData.EmptyEstateAggregate);
this.EstateManagementRepository.Setup(e => e.GetEstate(It.IsAny<Guid>(), It.IsAny<CancellationToken>())).ReturnsAsync(TestData.EstateModel);
public async Task EstateManagementManager_GetMerchant_MerchantIsReturned(){
Merchant expectedModel = TestData.MerchantModelWithAddressesContactsDevicesAndOperators(SettlementSchedule.Monthly);
this.EstateManagementRepository.Setup(m => m.GetMerchant(It.IsAny<Guid>(), It.IsAny<Guid>(), It.IsAny<CancellationToken>())).ReturnsAsync(expectedModel);

Merchant merchantModel = await this.EstateManagementManager.GetMerchant(TestData.EstateId, TestData.MerchantId, CancellationToken.None);

merchantModel.ShouldNotBeNull();
merchantModel.MerchantReportingId.ShouldBe(expectedModel.MerchantReportingId);
merchantModel.EstateId.ShouldBe(expectedModel.EstateId);
merchantModel.EstateReportingId.ShouldBe(expectedModel.EstateReportingId);
merchantModel.NextSettlementDueDate.ShouldBe(expectedModel.NextSettlementDueDate);
merchantModel.NextStatementDate.ShouldBe(expectedModel.NextStatementDate);
merchantModel.MerchantId.ShouldBe(expectedModel.MerchantId);
merchantModel.MerchantName.ShouldBe(expectedModel.MerchantName);
merchantModel.SettlementSchedule.ShouldBe(expectedModel.SettlementSchedule);

merchantModel.Addresses.ShouldHaveSingleItem();
merchantModel.Addresses.Single().AddressId.ShouldBe(expectedModel.Addresses.Single().AddressId);
merchantModel.Addresses.Single().AddressLine1.ShouldBe(expectedModel.Addresses.Single().AddressLine1);
merchantModel.Addresses.Single().AddressLine2.ShouldBe(expectedModel.Addresses.Single().AddressLine2);
merchantModel.Addresses.Single().AddressLine3.ShouldBe(expectedModel.Addresses.Single().AddressLine3);
merchantModel.Addresses.Single().AddressLine4.ShouldBe(expectedModel.Addresses.Single().AddressLine4);
merchantModel.Addresses.Single().Country.ShouldBe(expectedModel.Addresses.Single().Country);
merchantModel.Addresses.Single().PostalCode.ShouldBe(expectedModel.Addresses.Single().PostalCode);
merchantModel.Addresses.Single().Region.ShouldBe(expectedModel.Addresses.Single().Region);
merchantModel.Addresses.Single().Town.ShouldBe(expectedModel.Addresses.Single().Town);

merchantModel.Contacts.ShouldHaveSingleItem();
merchantModel.Contacts.Single().ContactEmailAddress.ShouldBe(expectedModel.Contacts.Single().ContactEmailAddress);
merchantModel.Contacts.Single().ContactId.ShouldBe(expectedModel.Contacts.Single().ContactId);
merchantModel.Contacts.Single().ContactName.ShouldBe(expectedModel.Contacts.Single().ContactName);
merchantModel.Contacts.Single().ContactPhoneNumber.ShouldBe(expectedModel.Contacts.Single().ContactPhoneNumber);

merchantModel.Devices.ShouldHaveSingleItem();
merchantModel.Devices.Single().Key.ShouldBe(expectedModel.Devices.Single().Key);
merchantModel.Devices.Single().Value.ShouldBe(expectedModel.Devices.Single().Value);

merchantModel.Operators.ShouldHaveSingleItem();
merchantModel.Operators.Single().MerchantNumber.ShouldBe(expectedModel.Operators.Single().MerchantNumber);
merchantModel.Operators.Single().Name.ShouldBe(expectedModel.Operators.Single().Name);
merchantModel.Operators.Single().OperatorId.ShouldBe(expectedModel.Operators.Single().OperatorId);
merchantModel.Operators.Single().TerminalNumber.ShouldBe(expectedModel.Operators.Single().TerminalNumber);

Should.Throw<NotFoundException>(async () => { await this.EstateManagementManager.GetEstate(TestData.EstateId, CancellationToken.None); });
}

[Fact]
public async Task EstateManagementManager_GetMerchant_MerchantIsReturnedWithNullAddressesAndContacts()
{
this.MerchantAggregateRepository.Setup(m => m.GetLatestVersion(It.IsAny<Guid>(), It.IsAny<CancellationToken>())).ReturnsAsync(TestData.CreatedMerchantAggregate);
this.EstateManagementRepository.Setup(m => m.GetMerchant(It.IsAny<Guid>(), It.IsAny<Guid>(), It.IsAny<CancellationToken>())).ReturnsAsync(TestData.MerchantModelWithNullAddressesAndContacts);

Merchant merchantModel = await this.EstateManagementManager.GetMerchant(TestData.EstateId, TestData.MerchantId, CancellationToken.None);

Expand All @@ -89,7 +118,7 @@ public async Task EstateManagementManager_GetMerchant_MerchantIsReturnedWithNull
[Fact]
public async Task EstateManagementManager_GetMerchant_WithAddress_MerchantIsReturnedWithNullContacts()
{
this.MerchantAggregateRepository.Setup(m => m.GetLatestVersion(It.IsAny<Guid>(), It.IsAny<CancellationToken>())).ReturnsAsync(TestData.MerchantAggregateWithAddress);
this.EstateManagementRepository.Setup(m => m.GetMerchant(It.IsAny<Guid>(), It.IsAny<Guid>(), It.IsAny<CancellationToken>())).ReturnsAsync(TestData.MerchantModelWithNullContacts);

Merchant merchantModel = await this.EstateManagementManager.GetMerchant(TestData.EstateId, TestData.MerchantId, CancellationToken.None);

Expand All @@ -103,7 +132,7 @@ public async Task EstateManagementManager_GetMerchant_WithAddress_MerchantIsRetu
[Fact]
public async Task EstateManagementManager_GetMerchant_WithContact_MerchantIsReturnedWithNullAddresses()
{
this.MerchantAggregateRepository.Setup(m => m.GetLatestVersion(It.IsAny<Guid>(), It.IsAny<CancellationToken>())).ReturnsAsync(TestData.MerchantAggregateWithContact);
this.EstateManagementRepository.Setup(m => m.GetMerchant(It.IsAny<Guid>(), It.IsAny<Guid>(), It.IsAny<CancellationToken>())).ReturnsAsync(TestData.MerchantModelWithNullAddresses);

Merchant merchantModel = await this.EstateManagementManager.GetMerchant(TestData.EstateId, TestData.MerchantId, CancellationToken.None);

Expand Down
33 changes: 17 additions & 16 deletions EstateManagement.BusinessLogic.Tests/ModelFactoryTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,7 @@ public void EstateEntities_ConvertFrom_NullSecurityUsers_EstateConverted()
[Fact]
public void MerchantEntities_ConvertFrom_MerchantConverted()
{
EstateEntity estate = TestData.EstateEntity;
MerchantEntity merchant = TestData.MerchantEntity;
List<MerchantAddress> merchantAddresses = new List<MerchantAddressEntity>
{
Expand All @@ -175,7 +176,7 @@ public void MerchantEntities_ConvertFrom_MerchantConverted()
};
ModelFactory modelFactory = new ModelFactory();

Merchant merchantModel = modelFactory.ConvertFrom(merchant, merchantAddresses, merchantContacts, merchantOperators, merchantDevices, merchantSecurityUsers);
Merchant merchantModel = modelFactory.ConvertFrom(TestData.EstateId, merchant, merchantAddresses, merchantContacts, merchantOperators, merchantDevices, merchantSecurityUsers);

merchantModel.ShouldNotBeNull();
merchantModel.MerchantId.ShouldBe(merchant.MerchantId);
Expand Down Expand Up @@ -215,7 +216,7 @@ public void MerchantEntities_ConvertFrom_NoAddresses_MerchantConverted()
};
ModelFactory modelFactory = new ModelFactory();

Merchant merchantModel = modelFactory.ConvertFrom(merchant, merchantAddresses, merchantContacts, merchantOperators, merchantDevices, merchantSecurityUsers);
Merchant merchantModel = modelFactory.ConvertFrom(TestData.EstateId, merchant, merchantAddresses, merchantContacts, merchantOperators, merchantDevices, merchantSecurityUsers);

merchantModel.ShouldNotBeNull();
merchantModel.MerchantId.ShouldBe(merchant.MerchantId);
Expand Down Expand Up @@ -254,7 +255,7 @@ public void MerchantEntities_ConvertFrom_NullAddresses_MerchantConverted()
};
ModelFactory modelFactory = new ModelFactory();

Merchant merchantModel = modelFactory.ConvertFrom(merchant, merchantAddresses, merchantContacts, merchantOperators, merchantDevices, merchantSecurityUsers);
Merchant merchantModel = modelFactory.ConvertFrom(TestData.EstateId, merchant, merchantAddresses, merchantContacts, merchantOperators, merchantDevices, merchantSecurityUsers);

merchantModel.ShouldNotBeNull();
merchantModel.MerchantId.ShouldBe(merchant.MerchantId);
Expand Down Expand Up @@ -293,7 +294,7 @@ public void MerchantEntities_ConvertFrom_NoContacts_MerchantConverted()
};
ModelFactory modelFactory = new ModelFactory();

Merchant merchantModel = modelFactory.ConvertFrom(merchant, merchantAddresses, merchantContacts, merchantOperators, merchantDevices, merchantSecurityUsers);
Merchant merchantModel = modelFactory.ConvertFrom(TestData.EstateId, merchant, merchantAddresses, merchantContacts, merchantOperators, merchantDevices, merchantSecurityUsers);

merchantModel.ShouldNotBeNull();
merchantModel.MerchantId.ShouldBe(merchant.MerchantId);
Expand Down Expand Up @@ -332,7 +333,7 @@ public void MerchantEntities_ConvertFrom_NullContacts_MerchantConverted()
};
ModelFactory modelFactory = new ModelFactory();

Merchant merchantModel = modelFactory.ConvertFrom(merchant, merchantAddresses, merchantContacts, merchantOperators, merchantDevices, merchantSecurityUsers);
Merchant merchantModel = modelFactory.ConvertFrom(TestData.EstateId, merchant, merchantAddresses, merchantContacts, merchantOperators, merchantDevices, merchantSecurityUsers);

merchantModel.ShouldNotBeNull();
merchantModel.MerchantId.ShouldBe(merchant.MerchantId);
Expand Down Expand Up @@ -371,7 +372,7 @@ public void MerchantEntities_ConvertFrom_NoOperators_MerchantConverted()
};
ModelFactory modelFactory = new ModelFactory();

Merchant merchantModel = modelFactory.ConvertFrom(merchant, merchantAddresses, merchantContacts, merchantOperators, merchantDevices, merchantSecurityUsers);
Merchant merchantModel = modelFactory.ConvertFrom(TestData.EstateId, merchant, merchantAddresses, merchantContacts, merchantOperators, merchantDevices, merchantSecurityUsers);

merchantModel.ShouldNotBeNull();
merchantModel.MerchantId.ShouldBe(merchant.MerchantId);
Expand Down Expand Up @@ -410,7 +411,7 @@ public void MerchantEntities_ConvertFrom_NullOperators_MerchantConverted()
};
ModelFactory modelFactory = new ModelFactory();

Merchant merchantModel = modelFactory.ConvertFrom(merchant, merchantAddresses, merchantContacts, merchantOperators, merchantDevices, merchantSecurityUsers);
Merchant merchantModel = modelFactory.ConvertFrom(TestData.EstateId, merchant, merchantAddresses, merchantContacts, merchantOperators, merchantDevices, merchantSecurityUsers);

merchantModel.ShouldNotBeNull();
merchantModel.MerchantId.ShouldBe(merchant.MerchantId);
Expand Down Expand Up @@ -449,7 +450,7 @@ public void MerchantEntities_ConvertFrom_NoDevices_MerchantConverted()
};
ModelFactory modelFactory = new ModelFactory();

Merchant merchantModel = modelFactory.ConvertFrom(merchant, merchantAddresses, merchantContacts, merchantOperators, merchantDevices, merchantSecurityUsers);
Merchant merchantModel = modelFactory.ConvertFrom(TestData.EstateId, merchant, merchantAddresses, merchantContacts, merchantOperators, merchantDevices, merchantSecurityUsers);

merchantModel.ShouldNotBeNull();
merchantModel.MerchantId.ShouldBe(merchant.MerchantId);
Expand Down Expand Up @@ -488,7 +489,7 @@ public void MerchantEntities_ConvertFrom_NullDevices_MerchantConverted()
};
ModelFactory modelFactory = new ModelFactory();

Merchant merchantModel = modelFactory.ConvertFrom(merchant, merchantAddresses, merchantContacts, merchantOperators, merchantDevices, merchantSecurityUsers);
Merchant merchantModel = modelFactory.ConvertFrom(TestData.EstateId, merchant, merchantAddresses, merchantContacts, merchantOperators, merchantDevices, merchantSecurityUsers);

merchantModel.ShouldNotBeNull();
merchantModel.MerchantId.ShouldBe(merchant.MerchantId);
Expand Down Expand Up @@ -528,7 +529,7 @@ public void MerchantEntities_ConvertFrom_NoSecurityUsers_MerchantConverted()

ModelFactory modelFactory = new ModelFactory();

Merchant merchantModel = modelFactory.ConvertFrom(merchant, merchantAddresses, merchantContacts, merchantOperators, merchantDevices, merchantSecurityUsers);
Merchant merchantModel = modelFactory.ConvertFrom(TestData.EstateId, merchant, merchantAddresses, merchantContacts, merchantOperators, merchantDevices, merchantSecurityUsers);

merchantModel.ShouldNotBeNull();
merchantModel.MerchantId.ShouldBe(merchant.MerchantId);
Expand Down Expand Up @@ -568,7 +569,7 @@ public void MerchantEntities_ConvertFrom_NullSecurityUsers_MerchantConverted()

ModelFactory modelFactory = new ModelFactory();

Merchant merchantModel = modelFactory.ConvertFrom(merchant, merchantAddresses, merchantContacts, merchantOperators, merchantDevices, merchantSecurityUsers);
Merchant merchantModel = modelFactory.ConvertFrom(TestData.EstateId, merchant, merchantAddresses, merchantContacts, merchantOperators, merchantDevices, merchantSecurityUsers);

merchantModel.ShouldNotBeNull();
merchantModel.MerchantId.ShouldBe(merchant.MerchantId);
Expand Down Expand Up @@ -621,7 +622,7 @@ public void ContractEntities_ConvertFrom_ContractConverted()

ModelFactory modelFactory = new ModelFactory();

ContractModel contractModel = modelFactory.ConvertFrom(contract, contractProducts, contractProductsTransactionFees);
ContractModel contractModel = modelFactory.ConvertFrom(TestData.EstateId, contract, contractProducts, contractProductsTransactionFees);

contractModel.ShouldNotBeNull();
contractModel.ContractId.ShouldBe(contract.ContractId);
Expand Down Expand Up @@ -657,7 +658,7 @@ public void ContractEntities_ConvertFrom_NullProducts_ContractConverted()

ModelFactory modelFactory = new ModelFactory();

ContractModel contractModel = modelFactory.ConvertFrom(contract, contractProducts, contractProductsTransactionFees);
ContractModel contractModel = modelFactory.ConvertFrom(TestData.EstateId, contract, contractProducts, contractProductsTransactionFees);

contractModel.ShouldNotBeNull();
contractModel.ContractId.ShouldBe(contract.ContractId);
Expand All @@ -675,7 +676,7 @@ public void ContractEntities_ConvertFrom_EmptyProducts_ContractConverted()

ModelFactory modelFactory = new ModelFactory();

ContractModel contractModel = modelFactory.ConvertFrom(contract, contractProducts, contractProductsTransactionFees);
ContractModel contractModel = modelFactory.ConvertFrom(TestData.EstateId, contract, contractProducts, contractProductsTransactionFees);

contractModel.ShouldNotBeNull();
contractModel.ContractId.ShouldBe(contract.ContractId);
Expand All @@ -696,7 +697,7 @@ public void ContractEntities_ConvertFrom_NullProductTransactionFees_ContractConv

ModelFactory modelFactory = new ModelFactory();

ContractModel contractModel = modelFactory.ConvertFrom(contract, contractProducts, contractProductsTransactionFees);
ContractModel contractModel = modelFactory.ConvertFrom(TestData.EstateId, contract, contractProducts, contractProductsTransactionFees);

contractModel.ShouldNotBeNull();
contractModel.ContractId.ShouldBe(contract.ContractId);
Expand Down Expand Up @@ -726,7 +727,7 @@ public void ContractEntities_ConvertFrom_EmptyProductTransactionFees_ContractCon

ModelFactory modelFactory = new ModelFactory();

ContractModel contractModel = modelFactory.ConvertFrom(contract, contractProducts, contractProductsTransactionFees);
ContractModel contractModel = modelFactory.ConvertFrom(TestData.EstateId, contract, contractProducts, contractProductsTransactionFees);

contractModel.ShouldNotBeNull();
contractModel.ContractId.ShouldBe(contract.ContractId);
Expand Down
Loading