2020-08-17 01:14:09 +00:00
|
|
|
"""test_reports_balance_sheet.py - Unit tests for balance sheet report"""
|
|
|
|
# Copyright © 2020 Brett Smith
|
2021-01-08 21:57:43 +00:00
|
|
|
# License: AGPLv3-or-later WITH Beancount-Plugin-Additional-Permission-1.0
|
2020-08-17 01:14:09 +00:00
|
|
|
#
|
2021-01-08 21:57:43 +00:00
|
|
|
# Full copyright and licensing details can be found at toplevel file
|
|
|
|
# LICENSE.txt in the repository.
|
2020-08-17 01:14:09 +00:00
|
|
|
|
|
|
|
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
|