예제 #1
0
        public async Task get_consumer_pending_transactions_should_return_data()
        {
            var pendingTransactions = new List <ResourceTransaction>
            {
                new ResourceTransaction(TestItem.KeccakA.ToString(), "test", TransactionInfo.Default(TestItem.KeccakB,
                                                                                                     1.Ether(), 20.GWei(), 10, _timestamper.EpochSeconds))
            };

            var transaction = pendingTransactions[0];

            _consumerTransactionsService.GetPendingAsync().Returns(pendingTransactions);
            var result = await _rpc.ndm_getConsumerPendingTransactions();

            await _consumerTransactionsService.Received().GetPendingAsync();

            result.Data.Should().NotBeEmpty();
            result.Data.Should().ContainSingle(t =>
                                               t.ResourceId == transaction.ResourceId && t.Type == transaction.Type &&
                                               t.Transaction.Hash == transaction.Transaction.Hash &&
                                               t.Transaction.Value == transaction.Transaction.Value &&
                                               t.Transaction.GasPrice == transaction.Transaction.GasPrice &&
                                               t.Transaction.GasLimit == transaction.Transaction.GasLimit &&
                                               t.Transaction.MaxFee == transaction.Transaction.GasPrice * transaction.Transaction.GasLimit &&
                                               t.Transaction.Timestamp == transaction.Transaction.Timestamp);
        }