public async Task TransactionSearch_ShouldMatchOneTransaction_UsingToField(string addressToMatch) { var mapper = new EthereumTransactionMapper(); var ethereumServiceMock = new Mock <IEthereumService>(); // mock returning a list of transactions var transactions = TestFactory.MakeMockTransactions(); ethereumServiceMock.Setup(s => s.GetTransactionsByBlockNumberAsync(It.IsAny <long>())) .ReturnsAsync(transactions); var action = new EthereumTransactionSearchActionHandler(ethereumServiceMock.Object, mapper); var searchRequest = new EthereumTransactionSearchRequest { Address = addressToMatch, BlockNumber = "0x8b99c9" }; // act var actual = await action.Search(searchRequest); // assert Assert.NotNull(actual); Assert.Single(actual.Transactions); Assert.False(actual.TransientError); }
public async Task TransactionSearch_EmptySearchResult_ShouldSucceed() { var mapper = new EthereumTransactionMapper(); var ethereumServiceMock = new Mock <IEthereumService>(); // mock returning an empty list ethereumServiceMock.Setup(s => s.GetTransactionsByBlockNumberAsync(It.IsAny <long>())) .ReturnsAsync(new List <EthereumTransaction>()); var action = new EthereumTransactionSearchActionHandler(ethereumServiceMock.Object, mapper); var searchRequest = new EthereumTransactionSearchRequest { Address = "0x12345", BlockNumber = "12345" }; // act var actual = await action.Search(searchRequest); // assert Assert.NotNull(actual); Assert.Empty(actual.Transactions); Assert.False(actual.TransientError); }
public async Task TransactionSearch_ThrowException_ShouldReturnEmpty() { var mapper = new EthereumTransactionMapper(); var ethereumServiceMock = new Mock <IEthereumService>(); // mock returning a list of transactions var transactions = TestFactory.MakeMockTransactions(); ethereumServiceMock.Setup(s => s.GetTransactionsByBlockNumberAsync(It.IsAny <long>())) .ThrowsAsync(new HttpRequestException()); var action = new EthereumTransactionSearchActionHandler(ethereumServiceMock.Object, mapper); var searchRequest = new EthereumTransactionSearchRequest { Address = "invalidAddress", BlockNumber = "0x8b99c9" }; // act var actual = await action.Search(searchRequest); // assert Assert.NotNull(actual); Assert.Empty(actual.Transactions); Assert.True(actual.TransientError); }
public void MapTransactionToDton_EmptySource_ShouldSucceed() { var mapper = new EthereumTransactionMapper(); var source = new EthereumTransaction(); // act var actual = mapper.Map(source); // assert Assert.NotNull(actual); }
public void MapTransactionToDto_BlockNumber_ShouldSucceed() { var mapper = new EthereumTransactionMapper(); var source = new EthereumTransaction { BlockNumber = "12345" }; // act var actual = mapper.Map(source); // assert Assert.NotNull(actual); Assert.Equal("12345", actual.BlockNumber); }