예제 #1
0
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()
예제 #2
0
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
예제 #3
0
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
예제 #4
0
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