Example #1
0
        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);
        }