public void XmlApiSerializer_DataCoverterDto_NationalBankKz_InValidData_Exception()
        {
            string invalidFileAbsolutePath = Path.GetFullPath("..\\..\\..\\TestData\\NationalBankKz\\invalid_bank_response.xml", Directory.GetCurrentDirectory());
            var    invalidContent          = File.ReadAllText(invalidFileAbsolutePath);

            Assert.Throws <Exception>(() => XmlApiSerializer.DataConverterDto <NationalBankKzDto>(invalidContent));
        }
        public async Task <IEnumerable <CurrencyRate> > GetCurrencyRatesByDate(DateTime date)
        {
            IEnumerable <CurrencyRate> currencyRates = new List <CurrencyRate>();
            NationalBankKzDto          responseBankClientSerialize = new NationalBankKzDto();

            string responseBankClient = await HttpModule.DownloadData(UrlConfigurator(date));

            responseBankClientSerialize = XmlApiSerializer.DataConverterDto <NationalBankKzDto>(responseBankClient);

            if (responseBankClientSerialize.Error == "введена неверная дата")
            {
                throw new Exception("NationalBankKz - Wrong format date. Error date: " + date);
            }

            if (responseBankClientSerialize.Rates.Count == 0)
            {
                throw new Exception("NationalBankKz - returned error. Date: " + date + ". Add information: " + responseBankClientSerialize.Info);
            }

            currencyRates = responseBankClientSerialize.Rates.Select(currencyItem => new CurrencyRate
            {
                BankId       = BankClientType.NationalBankKz.ToString(),
                CurrencyCode = currencyItem.Code,
                Rate         = currencyItem.Rate / currencyItem.Quantity,
                Timestamp    = date.Date
            });

            return(currencyRates);
        }
        public void XmlApiSerializer_DataCoverterDto_NationalBankKz_ValidData_Success()
        {
            string            validFileAbsolutePath = Path.GetFullPath("..\\..\\..\\TestData\\NationalBankKz\\valid_bank_response.xml", Directory.GetCurrentDirectory());
            string            validContent          = File.ReadAllText(validFileAbsolutePath);
            NationalBankKzDto dtoData = XmlApiSerializer.DataConverterDto <NationalBankKzDto>(validContent);

            Assert.IsType <NationalBankKzDto>(dtoData);
            Assert.Equal(39, dtoData.Rates.Count);
        }