Esempio n. 1
0
        public async Task GetLatestQuotes_WhenInputIsValid_ShouldSuccessfullyReturnLatestQuotes()
        {
            //Arrange
            var expectedResult = new Dictionary <string, double> {
                { "EUR", 123.1 }
            };

            cryptoServiceMock.Setup(x => x.GetLatesQuotes(It.IsAny <string>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(expectedResult);

            //Act
            var result = await cryptoController.GetLatestQuotes(BTCsymbol, cancellationTokenSource.Token);

            var resultCrypto = ((ObjectResult)result);

            //Assert
            cryptoServiceMock.Verify(x => x.GetLatesQuotes(It.IsAny <string>(), It.IsAny <CancellationToken>()), Times.Once);
            Assert.Equal((int)HttpStatusCode.OK, resultCrypto.StatusCode);
            Assert.Equal(expectedResult.FirstOrDefault().Key, ((CryptoQuoteDto)resultCrypto.Value).ExchangeRate.FirstOrDefault().Key);
            Assert.Equal(expectedResult.FirstOrDefault().Value, ((CryptoQuoteDto)resultCrypto.Value).ExchangeRate.FirstOrDefault().Value);
        }