Files @ 5a8da108b983
Branch filter:

Location: NPO-Accounting/conservancy_beancount/tests/test_reports_balance_sheet.py

bsturmfels
statement_reconciler: Add initial Chase bank CSV statement matching

We currently don't have many examples to work with, so haven't done any
significant testing of the matching accuracy between statement and books.
"""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