コード例 #1
0
        public void ExecutedTransfer_WhenProcessingValidTransaction_ProducesReceiptIssuedEvent()
        {
            var transactionId = Guid.NewGuid().ToString();
            var transfer      = new ExecutedTransfer(transactionId);

            Event @event = transfer.IssueReceipt();

            Assert.NotNull(@event);
            Assert.Equal(nameof(ReceiptIssuedEvent), @event.Header.MessageType);
        }
コード例 #2
0
        public void ExecutedTransfer_WhenProcessingValidTransaction_IssuesNonEmptyReceipt()
        {
            var transactionId = Guid.NewGuid().ToString();
            var transfer      = new ExecutedTransfer(transactionId);

            transfer.IssueReceipt();
            var receipt = transfer.ReceiptSignature;

            Assert.False(string.IsNullOrWhiteSpace(receipt));
        }
コード例 #3
0
        private async Task CreateReceiptAsync(MessageHeader header, IssueReceiptCommandContent content)
        {
            var transactionId = header?.TransactionId;

            var   executedTransfer = new ExecutedTransfer(transactionId);
            Event receiptIssued    = executedTransfer.IssueReceipt();

            await repository.AddAsync(executedTransfer);

            await eventProducer.ProduceAsync(receiptIssued);
        }