public HandleShould()
            {
                inputMessage = new CeaseRequestedMessage
                {
                    MobileOrderId = Guid.NewGuid()
                };
                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 <CeaseRequestedHandler> >();
                var monitoringMock = new Mock <IMonitoring>();

                externalMobileTelecomsNetworkServiceMock.Setup(x => x.PostCease(It.Is <ExternalMobileTelecomsNetworkOrder>(
                                                                                    y => y.Reference == expectedExternalServiceOrder.Reference)))
                .Returns(Task.FromResult(true));

                sut = new CeaseRequestedHandler(loggerMock.Object, dataStoreMock.Object, externalMobileTelecomsNetworkServiceMock.Object, messagePublisherMock.Object, monitoringMock.Object);
            }
        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()));
        }