diff --git a/TransactionProcessor.IntegrationTests/Common/EstateDetails.cs b/TransactionProcessor.IntegrationTests/Common/EstateDetails.cs index c93f113d..2970fd77 100644 --- a/TransactionProcessor.IntegrationTests/Common/EstateDetails.cs +++ b/TransactionProcessor.IntegrationTests/Common/EstateDetails.cs @@ -238,6 +238,10 @@ public static EstateDetails Create(Guid estateId, /// public Contract GetContract(String contractName) { + if (this.Contracts.Any() == false) + { + return null; + } return this.Contracts.Single(c => c.Description == contractName); } diff --git a/TransactionProcessor.IntegrationTests/Shared/SharedSteps.cs b/TransactionProcessor.IntegrationTests/Shared/SharedSteps.cs index 8878b52e..4b569218 100644 --- a/TransactionProcessor.IntegrationTests/Shared/SharedSteps.cs +++ b/TransactionProcessor.IntegrationTests/Shared/SharedSteps.cs @@ -262,8 +262,15 @@ public async Task WhenIPerformTheFollowingTransactions(Table table) String contractDescription = SpecflowTableHelper.GetStringRowValue(tableRow, "ContractDescription"); String productName = SpecflowTableHelper.GetStringRowValue(tableRow, "ProductName"); + Guid contractId = Guid.Empty; + Guid productId = Guid.Empty; var contract = estateDetails.GetContract(contractDescription); - var product = contract.GetProduct(productName); + if (contract != null) + { + contractId = contract.ContractId; + var product = contract.GetProduct(productName); + productId = product.ProductId; + } transactionResponse = await this.PerformSaleTransaction(estateDetails.EstateId, merchantId, @@ -275,8 +282,8 @@ public async Task WhenIPerformTheFollowingTransactions(Table table) transactionAmount, customerAccountNumber, customerEmailAddress, - contract.ContractId, - product.ProductId, + contractId, + productId, CancellationToken.None); break;