public async Task Dont_Do_Work_Inactive_Federation() { this.federationWalletManager.IsFederationWalletActive().Returns(false); this.ibdState.IsInitialBlockDownload().Returns(true); using (var signedMultisigTransactionBroadcaster = new SignedMultisigTransactionBroadcaster( this.loggerFactory, this.mempoolManager, this.broadcasterManager, this.ibdState, this.federationWalletManager, this.signals)) { signedMultisigTransactionBroadcaster.Start(); var partial = new Transaction(); var xfer = new CrossChainTransfer(); xfer.SetPartialTransaction(partial); this.signals.Publish(new CrossChainTransferTransactionFullySigned(xfer)); await Task.Delay(100); //the event subscriber handles the event asynchronously so let's wait a bit to give it the time to complete. await this.broadcasterManager.Received(0).BroadcastTransactionAsync(Arg.Any <Transaction>()); } }
public async Task Call_GetSignedTransactionsAsync_Signed_Transactions_Broadcasts() { this.federatedPegSettings.PublicKey.Returns(PublicKey); using (var signedMultisigTransactionBroadcaster = new SignedMultisigTransactionBroadcaster( this.loggerFactory, this.mempoolManager, this.broadcasterManager, this.ibdState, this.federationWalletManager, this.signals)) { signedMultisigTransactionBroadcaster.Start(); var partial = new Transaction(); var xfer = new CrossChainTransfer(); xfer.SetPartialTransaction(partial); this.signals.Publish(new CrossChainTransferTransactionFullySigned(xfer)); await Task.Delay(100); //the event subscriber handles the event asynchronously so let's wait a bit to give it the time to complete. await this.broadcasterManager.Received(1).BroadcastTransactionAsync(Arg.Any <Transaction>()); } }