public void Test_AddNewExpense_Fail()
        {
            var expenseService = new BudgetExpensesServices(_expenseRepository.Object);

            Assert.ThrowsAsync <ArgumentException>(() => expenseService.AddNewExpense(null));

            _expenseRepository.Verify(e => e.AddNewExpense(It.IsAny <BudgetExpenses>()), Times.Never);
        }
        public async Task Test_AddNewExpense_Success()
        {
            _expenseRepository.Setup(e => e.AddNewExpense(It.IsAny <BudgetExpenses>()))
            .Returns(Task.CompletedTask);

            var expenseService = new BudgetExpensesServices(_expenseRepository.Object);

            await expenseService.AddNewExpense(new BudgetExpensesModel()
            {
                UserId        = 1,
                ExpenseAmount = 50,
                ExpenseType   = "Groceries"
            });

            _expenseRepository.Verify(e => e.AddNewExpense(It.IsAny <BudgetExpenses>()), Times.Once);
        }