conservancy_beancount/tests/test_reports_balance_sheet.py

37 lines
1.1 KiB
Python

"""test_reports_balance_sheet.py - Unit tests for balance sheet report"""
# Copyright © 2020 Brett Smith
# License: AGPLv3-or-later WITH Beancount-Plugin-Additional-Permission-1.0
#
# Full copyright and licensing details can be found at toplevel file
# LICENSE.txt in the repository.
import datetime
import io
import itertools
import pytest
from . import testutil
import odf.opendocument
from conservancy_beancount.reports import balance_sheet
clean_account_meta = pytest.fixture(scope='module')(testutil.clean_account_meta)
def run_main(arglist=[], config=None):
if config is None:
config = testutil.TestConfig(books_path=testutil.test_path('books/fund.beancount'))
stdout = io.BytesIO()
stderr = io.StringIO()
retcode = balance_sheet.main(['-O', '-'] + arglist, stdout, stderr, config)
stdout.seek(0)
stderr.seek(0)
return retcode, stdout, stderr
def test_main():
retcode, stdout, stderr = run_main()
assert retcode == 0
assert not stderr.getvalue()
report = odf.opendocument.load(stdout)
assert report.spreadsheet.childNodes