public async Task A01_CreateInvalidCurrencyWhenMissingDefaultTest() { // set default currency to false var currencies = await EFContext.Currency.Where(c => c.DefaultCurrency).ToArrayAsync(); foreach (var c in currencies) { c.DefaultCurrency = false; } await EFContext.SaveChangesAsync(); var currency = await CreateCurrency("CAD", "Canadian Dollar", "$"); var model = new CreateExchangeRateModel { CurrencyId = currency.Id, Rate = decimal.Parse("0.73") }; var createResult = await Browser.Post("/v1/exchangerate/create", with => { with.User(_user); with.JsonBody(model); }); createResult.StatusCode.Should().Be(HttpStatusCode.InternalServerError); }
public async Task CreateExchangeRateTest() { var defaultCurrency = new Currency { Id = Guid.NewGuid(), Code = "USD", DefaultCurrency = true, Description = "USD1", Symbol = "$" }; var createModel = new CreateExchangeRateModel { CurrencyId = Guid.NewGuid(), Rate = decimal.Parse("0.73") }; var data = new List <Currency> { defaultCurrency }; _dbContext.MockAsyncQueryable(data.AsQueryable(), c => c.Currency); _dbContext.MockAsyncQueryable(new List <ExchangeRate>().AsQueryable(), c => c.ExchangeRate); var result = await _service.CreateExchangeRate(createModel, _user); result.ToCurrency.Should().Be(defaultCurrency.Id); }