def test_expense_load_raises_error_when_path_is_dir(tmpdir): path = os.path.join(tmpdir, 'test.csv') os.mkdir(path) ed = ExpenseCSVData(path) with pytest.raises(UnableToOpenDataFileException): ed.load()
def get_expenses(search=None): reader = ExpenseCSVData('expense.csv') result = [] with reader: if search: data = reader.search(search) else: data = reader.load() for item in data: r = "{name} - {price}".format(**item) result.append(r) return result
def test_expense_load_better(tmpdir, tmp_file_content): path = os.path.join(tmpdir, 'test.csv') with open(path, 'w') as f: f.write(tmp_file_content) ed = ExpenseCSVData(path) result = ed.load() assert len(result) == 1 first_row = result[0] data = OrderedDict([('name', 'prd'), ('price', 123)]) assert data == first_row
def test_expense_load(tmp_file_content): tmp_dir = tempfile.TemporaryDirectory() with tmp_dir as d: path = os.path.join(d, 'test.csv') with open(path, 'w') as f: f.write(tmp_file_content) ed = ExpenseCSVData(path) result = ed.load() assert len(result) == 1 first_row = result[0] assert first_row['name'] == 'prd' assert first_row['price'] == 123