예제 #1
0
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
예제 #2
0
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