public IncomingCommandEnvelopeProcessor(CommandEnvelopeDownloader commandEnvelopeDownloader, IncomingCommandHandler incomingCommandHandler,
     LocalCommandEnvelopeRepository localCommandEnvelopeRepository, Database database, SyncLogRepository syncLogRepository)
 {
     this.commandEnvelopeDownloader = commandEnvelopeDownloader;
     this.commandEnvelopeDownloader.StatusUpdate += OnStatusUpdate;
     this.incomingCommandHandler = incomingCommandHandler;
     this.localCommandEnvelopeRepository = localCommandEnvelopeRepository;
     this.database = database;
     this.syncLogRepository = syncLogRepository;
 }
        public void Setup()
        {
            orderBuilder = new MockOrderBuilder();
            saleProductRepository = new Mock<ISaleProductRepository>();
            orderRepository = new Mock<ISaleRepository>();
            outletRepository = new Mock<IOutletRepository>();
            inventoryRepository = new Mock<IInventoryRepository>();
            returnableProductRepository = new Mock<IReturnableProductRepository>();

            commandHandler = new IncomingCommandHandler(orderRepository.Object, outletRepository.Object, saleProductRepository.Object, inventoryRepository.Object, returnableProductRepository.Object);
        }