diff --git a/TransactionProcessor.Aggregates.Tests/SettlementAggregateTests.cs b/TransactionProcessor.Aggregates.Tests/SettlementAggregateTests.cs index a6d8a2cc..28f52777 100644 --- a/TransactionProcessor.Aggregates.Tests/SettlementAggregateTests.cs +++ b/TransactionProcessor.Aggregates.Tests/SettlementAggregateTests.cs @@ -45,6 +45,18 @@ public void SettlementAggregate_AddFee_FeeIsAdded() aggregate.AggregateId.ShouldBe(TestData.SettlementAggregateId); aggregate.GetNumberOfFeesPendingSettlement().ShouldBe(1); + var fee = aggregate.GetFeesToBeSettled().SingleOrDefault(); + fee.ShouldNotBe(default); + fee.merchantId.ShouldBe(TestData.MerchantId); + fee.transactionId.ShouldBe(TestData.TransactionId); + fee.calculatedFee.CalculatedValue.ShouldBe(TestData.CalculatedFeeMerchantFee().CalculatedValue); + fee.calculatedFee.FeeCalculationType.ShouldBe(TestData.CalculatedFeeMerchantFee().FeeCalculationType); + fee.calculatedFee.FeeId.ShouldBe(TestData.CalculatedFeeMerchantFee().FeeId); + fee.calculatedFee.FeeValue.ShouldBe(TestData.CalculatedFeeMerchantFee().FeeValue); + fee.calculatedFee.FeeType.ShouldBe(TestData.CalculatedFeeMerchantFee().FeeType); + fee.calculatedFee.FeeCalculatedDateTime.ShouldBe(TestData.CalculatedFeeMerchantFee().FeeCalculatedDateTime); + fee.calculatedFee.IsSettled.ShouldBe(TestData.CalculatedFeeMerchantFee().IsSettled); + fee.calculatedFee.SettlementDueDate.ShouldBe(TestData.CalculatedFeeMerchantFee().SettlementDueDate); } [Fact] diff --git a/TransactionProcessor.Aggregates/SettlementAggregate.cs b/TransactionProcessor.Aggregates/SettlementAggregate.cs index 296775f6..561a82f4 100644 --- a/TransactionProcessor.Aggregates/SettlementAggregate.cs +++ b/TransactionProcessor.Aggregates/SettlementAggregate.cs @@ -230,7 +230,8 @@ public static void PlayEvent(this SettlementAggregate aggregate, SettlementDomai FeeId = domainEvent.FeeId, FeeType = FeeType.Merchant, FeeValue = domainEvent.FeeValue, - FeeCalculationType = (CalculationType)domainEvent.FeeCalculationType + FeeCalculationType = (CalculationType)domainEvent.FeeCalculationType, + FeeCalculatedDateTime = domainEvent.FeeCalculatedDateTime })); } diff --git a/TransactionProcessor.Testing/TestData.cs b/TransactionProcessor.Testing/TestData.cs index 46c849ce..3bd10a83 100644 --- a/TransactionProcessor.Testing/TestData.cs +++ b/TransactionProcessor.Testing/TestData.cs @@ -1570,7 +1570,10 @@ public static CalculatedFee CalculatedFeeMerchantFee() => FeeCalculationType = CalculationType.Fixed, FeeId = TestData.TransactionFeeId, FeeValue = TestData.TransactionFeeValue, - FeeType = TransactionProcessor.Models.Contract.FeeType.Merchant + FeeType = TransactionProcessor.Models.Contract.FeeType.Merchant, + FeeCalculatedDateTime = TransactionFeeCalculateDateTime, + IsSettled = false, + SettlementDueDate = DateTime.MinValue }; public static CalculatedFee CalculatedFeeMerchantFee(Guid transactionFeeId) =>