Beispiel #1
0
        public void GetRate_EmptyResponse_ExceptionThrown()
        {
            var             client   = new Mock <INationalBankKzClient>();
            NbRatesResponse response = new NbRatesResponse();

            client.Setup(p => p.GetRates(It.IsAny <DateTime>())).ReturnsAsync(response);
            KztCurrencyRateService service = new KztCurrencyRateService(client.Object);

            Assert.ThrowsAsync <Exception>(() => service.GetRate(DateTime.Now));
        }
Beispiel #2
0
        public async void ConvertSum_CorrectInput_ReturnResult(DateTime date, NbRatesResponse response)
        {
            var client = new Mock <INationalBankKzClient>();

            client.Setup(p => p.GetRates(It.IsAny <DateTime>())).ReturnsAsync(response);
            KztCurrencyRateService service = new KztCurrencyRateService(client.Object);

            decimal expected = 87;
            decimal actual   = await service.ConvertSum(15, date);

            Assert.Equal(expected, actual, 1);
        }
        public override async Task <decimal> GetRate(DateTime date)
        {
            ValidateDate(date);
            NbRatesResponse response = await _client.GetRates(date);

            if (response == null)
            {
                throw new Exception("Нет данных на указанную дату");
            }
            NbItemResponse nbItem = response.Items.FirstOrDefault(x => x.Title == "RUB");

            if (nbItem == null)
            {
                throw new Exception("Нет курса на указанную дату");
            }
            return(nbItem.Description / nbItem.Quant);
        }
Beispiel #4
0
        public static IEnumerable <object[]> CorrectData()
        {
            NbRatesResponse result = new NbRatesResponse()
            {
                Items = new List <NbItemResponse>()
                {
                    new NbItemResponse()
                    {
                        Title = "RUB", Description = 58, Quant = 10
                    }
                }
            };

            return(new List <object[]>
            {
                new object[] { DateTime.Now, result },
                new object[] { DateTime.Now.AddDays(-7), result },
                new object[] { DateTime.Now.AddMonths(-5), result }
            });
        }