def test_edit_expense(): """ GIVEN EditExpenseCommand with a valid properties title, amount, created_at and content WHEN the execute method is called THEN a new Expense must exist in the database with the same attributes """ expense = CreateExpenseCommand(title='New Expense', amount=12.0, created_at='12/08/1994', tags='dairy', email='*****@*****.**').execute() edit_expense = EditExpenseCommand(id=expense.id, title='New Expense edit', amount=24.0, created_at='12/08/1995', tags='dairyyyy', email=expense.email).execute() edit_expense_check = Expense.GetExpenseByID(id=expense.id, email=expense.email) assert edit_expense_check.id == edit_expense.id assert edit_expense_check.title == edit_expense.title assert edit_expense_check.amount == edit_expense.amount assert edit_expense_check.created_at == edit_expense.created_at assert edit_expense_check.tags == edit_expense.tags assert edit_expense_check.email == edit_expense.email
def test_create_expense(): """ GIVEN CreateExpenseCommand with a valid properties title, amount, created_at and content WHEN the execute method is called THEN a new Expense must exist in the database with the same attributes """ cmd = CreateExpenseCommand(title='New Expense', amount=12.0, created_at='12/08/1994', tags='dairy', email='*****@*****.**') expense = cmd.execute() db_expense = Expense.GetExpenseByID(expense.id, expense.email) assert db_expense.id == expense.id assert db_expense.title == expense.title assert db_expense.amount == expense.amount assert db_expense.created_at == expense.created_at assert db_expense.tags == expense.tags assert db_expense.email == expense.email