public async Task CreateCurrencyAsync_NonExistingCurrency_ReturnCreatedCurrency()
        {
            var      currencyName        = "EUR";
            Currency nonExistingCurrency = null;

            _unitOfWork.Setup(u => u.Currencies.SingleOrDefaultAsync(It.IsAny <Expression <Func <Currency, bool> > >()))
            .ReturnsAsync(nonExistingCurrency);

            var result = await _currencyService.CreateCurrencyAsync(currencyName);

            Assert.Equal(currencyName, result.Name);
        }
Exemplo n.º 2
0
        public void DeleteAndCreateCurrencyTest()
        {
            var newCurrency = new Currency
            {
                BuyRate     = 1,
                Code        = "DKK",
                Description = "Danks krona",
                SellRate    = 1000,
                Unit        = 1,
                IsAutomatic = false,
            };

            var request = new CurrencyListRequest(this.connectionSettings.AccessToken, this.connectionSettings.ClientSecret);

            try
            {
                // delete, or we can't add
                CurrencyService.DeleteCurrencyAsync(request, newCurrency.Code).GetAwaiter().GetResult();
            }
            catch
            {
                // nothing, the currency did not exist
            }
            finally
            {
                var createdCurrency = CurrencyService.CreateCurrencyAsync(request, newCurrency).GetAwaiter().GetResult();

                Assert.IsNotNull(createdCurrency);

                Assert.AreEqual(newCurrency.Code, createdCurrency.Code);
                Assert.AreEqual(newCurrency.BuyRate, createdCurrency.BuyRate);
                Assert.AreEqual(newCurrency.Description, createdCurrency.Description);
                Assert.AreEqual(newCurrency.IsAutomatic, createdCurrency.IsAutomatic);
                Assert.AreEqual(newCurrency.SellRate, createdCurrency.SellRate);
                Assert.AreEqual(newCurrency.Unit, createdCurrency.Unit);
                Assert.AreEqual(null, createdCurrency.Url);
            }
        }