public void TransactionDomainEventHandler_CanBeCreated_IsCreated()
        {
            Mock <IEstateReportingRepository> estateReportingRepository = new Mock <IEstateReportingRepository>();

            TransactionDomainEventHandler eventHandler = new TransactionDomainEventHandler(estateReportingRepository.Object);

            eventHandler.ShouldNotBeNull();
        }
        public void TransactionDomainEventHandler_ProductDetailsAddedToTransactionEvent_EventIsHandled()
        {
            ProductDetailsAddedToTransactionEvent productDetailsAddedToTransactionEvent = TestData.ProductDetailsAddedToTransactionEvent;

            Mock <IEstateReportingRepository> estateReportingRepository = new Mock <IEstateReportingRepository>();

            TransactionDomainEventHandler eventHandler = new TransactionDomainEventHandler(estateReportingRepository.Object);

            Logger.Initialise(NullLogger.Instance);

            Should.NotThrow(async() => { await eventHandler.Handle(productDetailsAddedToTransactionEvent, CancellationToken.None); });
        }
        public void TransactionDomainEventHandler_OverallTotalsRecordedEvent_EventIsHandled()
        {
            OverallTotalsRecordedEvent overallTotalsRecordedEvent = TestData.OverallTotalsRecordedEvent;

            Mock <IEstateReportingRepository> estateReportingRepository = new Mock <IEstateReportingRepository>();

            TransactionDomainEventHandler eventHandler = new TransactionDomainEventHandler(estateReportingRepository.Object);

            Logger.Initialise(NullLogger.Instance);

            Should.NotThrow(async() => { await eventHandler.Handle(overallTotalsRecordedEvent, CancellationToken.None); });
        }
        public void TransactionDomainEventHandler_MerchantFeeAddedToTransactionEvent_EventIsHandled()
        {
            MerchantFeeAddedToTransactionEnrichedEvent merchantFeeAddedToTransactionEvent = TestData.MerchantFeeAddedToTransactionEnrichedEvent;

            Mock <IEstateReportingRepository> estateReportingRepository = new Mock <IEstateReportingRepository>();

            TransactionDomainEventHandler eventHandler = new TransactionDomainEventHandler(estateReportingRepository.Object);

            Logger.Initialise(NullLogger.Instance);

            Should.NotThrow(async() => { await eventHandler.Handle(merchantFeeAddedToTransactionEvent, CancellationToken.None); });
        }
        public void TransactionDomainEventHandler_VoucherFullyRedeemedEvent_EventIsHandled()
        {
            VoucherFullyRedeemedEvent voucherFullyRedeemedEvent = TestData.VoucherFullyRedeemedEvent;

            Mock <IEstateReportingRepository> estateReportingRepository = new Mock <IEstateReportingRepository>();

            TransactionDomainEventHandler eventHandler = new TransactionDomainEventHandler(estateReportingRepository.Object);

            Logger.Initialise(NullLogger.Instance);

            Should.NotThrow(async() => { await eventHandler.Handle(voucherFullyRedeemedEvent, CancellationToken.None); });
        }
        public void TransactionDomainEventHandler_TransactionHasBeenLocallyDeclinedEvent_EventIsHandled()
        {
            TransactionHasBeenLocallyDeclinedEvent transactionHasBeenLocallyDeclinedEvent = TestData.TransactionHasBeenLocallyDeclinedEvent;

            Mock <IEstateReportingRepository> estateReportingRepository = new Mock <IEstateReportingRepository>();

            TransactionDomainEventHandler eventHandler = new TransactionDomainEventHandler(estateReportingRepository.Object);

            Logger.Initialise(NullLogger.Instance);

            Should.NotThrow(async() => { await eventHandler.Handle(transactionHasBeenLocallyDeclinedEvent, CancellationToken.None); });
        }
        public void TransactionDomainEventHandler_ReconciliationHasStartedEvent_EventIsHandled()
        {
            ReconciliationHasStartedEvent reconciliationHasStartedEvent = TestData.ReconciliationHasStartedEvent;

            Mock <IEstateReportingRepository> estateReportingRepository = new Mock <IEstateReportingRepository>();

            TransactionDomainEventHandler eventHandler = new TransactionDomainEventHandler(estateReportingRepository.Object);

            Logger.Initialise(NullLogger.Instance);

            Should.NotThrow(async() => { await eventHandler.Handle(reconciliationHasStartedEvent, CancellationToken.None); });
        }