public IMessageBusListener Build()
        {
            var handler = new ActivateRequestedHandler(logger, dataStore, externalMobileTelecomsNetworkService, messagePublisher, monitoring);

            messageBus.Subscribe <ActivateRequestedMessage, IHandlerAsync <ActivateRequestedMessage> >(handler);

            var ceaseRequestedHandler = new CeaseRequestedHandler(ceaseRequestedHandlerLogger, dataStore, externalMobileTelecomsNetworkService, messagePublisher, monitoring);

            messageBus.Subscribe <CeaseRequestedMessage, IHandlerAsync <CeaseRequestedMessage> >(ceaseRequestedHandler);

            return(new MessageBusListener(messageBus, sqsService, new MessageDeserializer()));
        }
            public HandleShould()
            {
                inputMessage = new ActivateRequestedMessage
                {
                    MobileOrderId  = Guid.NewGuid(),
                    ActivationCode = "BAC132"
                };
                expectedExternalServiceOrder = new ExternalMobileTelecomsNetworkOrder
                {
                    Reference = inputMessage.MobileOrderId
                };

                transactionMock = new Mock <ITransaction>();
                dataStoreMock   = new Mock <IDataStore>();
                dataStoreMock.Setup(x => x.BeginTransaction()).Returns(transactionMock.Object);

                externalMobileTelecomsNetworkServiceMock = new Mock <IExternalMobileTelecomsNetworkService>();
                messagePublisherMock = new Mock <IMessagePublisher>();
                var loggerMock     = new Mock <ILogger <ActivateRequestedHandler> >();
                var monitoringMock = new Mock <IMonitoring>();

                sut = new ActivateRequestedHandler(loggerMock.Object, dataStoreMock.Object, externalMobileTelecomsNetworkServiceMock.Object, messagePublisherMock.Object, monitoringMock.Object);
            }