public async Task Delete_ThrowsErrorAboutDefaultWallet()
        {
            string walletsJson = File.ReadAllText(TestConfiguration.MockDataFolderPath + @"Wallets.json");
            var    wallet      = JsonConvert.DeserializeObject <List <Wallet> >(walletsJson)
                                 .First(w => w.User.Id == TESTING_USER_ID && w.IsDefault);

            WalletRepository.Setup(w => w.GetByKey(wallet.Id)).Returns(wallet);

            await Assert.ThrowsAsync <CashSchedulerException>(async() =>
            {
                await WalletService.Delete(wallet.Id);
            });
        }
        public ItemResponse <object> Delete(string name)
        {
            bool success      = true;
            var  responseBody = new ItemResponse <object>();

            success = _service.Delete(name);
            if (success)
            {
                Response.StatusCode       = 200;
                responseBody.IsSuccessful = true;
            }
            else
            {
                Response.StatusCode       = 404;
                responseBody.IsSuccessful = false;
            }
            return(responseBody);
        }
        public async Task Delete_ReturnsDeletedWallet()
        {
            string walletsJson = File.ReadAllText(TestConfiguration.MockDataFolderPath + @"Wallets.json");
            var    wallet      = JsonConvert.DeserializeObject <List <Wallet> >(walletsJson)
                                 .First(w => w.User.Id == TESTING_USER_ID && !w.IsDefault);

            WalletRepository.Setup(w => w.GetByKey(wallet.Id)).Returns(wallet);

            WalletRepository.Setup(w => w.Delete(wallet.Id)).ReturnsAsync(wallet);


            var resultWallet = await WalletService.Delete(wallet.Id);


            Assert.NotNull(resultWallet);
            Assert.Equal(wallet.Name, resultWallet.Name);
            Assert.Equal(wallet.Balance, resultWallet.Balance);
            Assert.Equal(wallet.IsDefault, resultWallet.IsDefault);
        }