public override void Post([FromBody] User user) { Wallet wallet = WalletService.Create(new Wallet()); user.WalletId = wallet.Id; Service.Create(user); }
public async Task Create_ReturnsNewWallet() { string usersJson = File.ReadAllText(TestConfiguration.MockDataFolderPath + @"Users.json"); var user = JsonConvert.DeserializeObject <List <User> >(usersJson).First(u => u.Id == TESTING_USER_ID); string currenciesJson = File.ReadAllText(TestConfiguration.MockDataFolderPath + @"Currencies.json"); var currencies = JsonConvert.DeserializeObject <List <Currency> >(currenciesJson); const string newName = "Testing Wallet"; const double newBalance = 1233.11; const string newCurrencyAbbreviation = "USD"; var newWallet = new Wallet { Name = newName, Balance = newBalance, CurrencyAbbreviation = newCurrencyAbbreviation, IsDefault = false }; UserRepository.Setup(u => u.GetByKey(TESTING_USER_ID)).Returns(user); CurrencyRepository .Setup(c => c.GetByKey(newCurrencyAbbreviation)) .Returns(currencies.First(cc => cc.Abbreviation == newCurrencyAbbreviation)); WalletRepository.Setup(w => w.Create(newWallet)).ReturnsAsync(newWallet); var resultWallet = await WalletService.Create(newWallet); Assert.NotNull(resultWallet); Assert.NotNull(resultWallet.User); Assert.NotNull(resultWallet.Currency); Assert.Equal(TESTING_USER_ID, resultWallet.User.Id); Assert.Equal(newCurrencyAbbreviation, resultWallet.Currency.Abbreviation); Assert.Equal(newName, resultWallet.Name); Assert.Equal(newBalance, resultWallet.Balance); Assert.False(resultWallet.IsDefault); }
public ItemResponse <string> Create(WalletRequest requestBody) { Exception x = new Exception(); var responseBody = new ItemResponse <string>(); bool success = true; (success, x) = _service.Create(requestBody); if (success) { Response.StatusCode = 200; responseBody.Item = "Created"; responseBody.IsSuccessful = true; } else { Response.StatusCode = 500; Console.WriteLine(x.Message); responseBody.IsSuccessful = false; } return(responseBody); }