@@ -27,6 +27,7 @@ FUTURE_DATE = datetime.date.today() + datetime.timedelta(days=365 * 99)
FY_START_DATE = datetime.date(2020, 3, 1)
FY_MID_DATE = datetime.date(2020, 9, 1)
PAST_DATE = datetime.date(2000, 1, 1)
TESTS_DIR = Path(__file__).parent
def check_post_meta(txn, *expected_meta, default=None):
assert len(txn.postings) == len(expected_meta)
@@ -42,6 +43,14 @@ def check_post_meta(txn, *expected_meta, default=None):
def parse_date(s, fmt='%Y-%m-%d'):
return datetime.datetime.strptime(s, fmt).date()
def test_path(s):
if s is None:
return s
s = Path(s)
if not s.is_absolute():
s = TESTS_DIR / s
def Posting(account, number,
currency='USD', cost=None, price=None, flag=None,
**meta):
@@ -98,14 +107,8 @@ class Transaction:
class TestConfig:
def __init__(self, repo_path=None):
if repo_path is not None:
repo_path = Path(repo_path)
if not repo_path.is_absolute():
repo_path = Path(self.TESTS_DIR, repo_path)
self.repo_path = repo_path
self.repo_path = test_path(repo_path)
def repository_path(self):
return self.repo_path