コード例 #1
0
        public async Task BadRequestForInvalidAddressFormat()
        {
            var jsonRpcMock = new Mock <IJsonRpcClient>();

            var controller = new EthereumController(jsonRpcMock.Object);

            var result = await controller.Search(0, "rahrah");

            Assert.IsType <BadRequestObjectResult>(result);
        }
コード例 #2
0
        public async Task FiltersTransactionsForAddress()
        {
            var jsonRpcMock = new Mock <IJsonRpcClient>();

            var jsonRpcResponse = new JsonRpcBlockResponseResult
            {
                Hash         = BlockHash,
                Number       = BlockNumber,
                Transactions = new List <JsonRpcTransactionResponse>
                {
                    new JsonRpcTransactionResponse
                    {
                        BlockNumber = BlockNumber,
                        BlockHash   = BlockHash,
                        Hash        = TxHash1,
                        From        = Addr1,
                        To          = Addr3,
                        Value       = Value,
                        Gas         = Gas
                    },
                    new JsonRpcTransactionResponse
                    {
                        BlockNumber = BlockNumber,
                        BlockHash   = BlockHash,
                        Hash        = TxHash2,
                        From        = Addr1,
                        To          = Addr2,
                        Value       = Value,
                        Gas         = Gas
                    },
                    new JsonRpcTransactionResponse
                    {
                        BlockNumber = BlockNumber,
                        BlockHash   = BlockHash,
                        Hash        = TxHash3,
                        From        = Addr3,
                        To          = Addr2,
                        Value       = Value,
                        Gas         = Gas
                    }
                }
            };

            jsonRpcMock.Setup(x => x.GetBlockByHeightAsync(BlockNumber, true))
            .Returns(Task.FromResult(jsonRpcResponse));

            var controller = new EthereumController(jsonRpcMock.Object);

            var result = (OkObjectResult)await controller.Search(7, Addr3);

            var returnedJson = (SearchResultViewModel)result.Value;

            Assert.Equal(2, returnedJson.Transactions.Count());
        }