def delete_expense(ID): """ Delete the expense record from the list :return: None :rtype: None """ # Load the list of expenses from csv, then put it into EM to manipulate # Finally put it back to the csv EM = ExpenseManager() EM.from_csv(expense_csv) EM.del_expense(ID) EM.override_to_csv(expense_csv)
def test_del_expense(): """ Tests for the del_expense method """ manager = ExpenseManager() expense1 = Expense(1, "Health", 300, "2020-05-12") expense2 = Expense(2, "School", 100.1, "2020-05-11") # Checks if method exists assert hasattr(manager, "del_expense") # Adds expenses manager.add_expense(expense1) manager.add_expense(expense2) assert manager._expenses[1] == expense1 assert manager._expenses[2] == expense2 # Checks that added expenses are deleted correctly manager.del_expense(1) manager.del_expense(2) with pytest.raises(KeyError): assert manager._expenses[1] assert manager._expenses[2]