File diff c9ff4ab74617 → a41feb94b3e0
tests/test_plugin_run.py
Show inline comments
...
 
@@ -18,14 +18,15 @@ import pytest
 

	
 
from . import testutil
 

	
 
from conservancy_beancount import plugin
 
from conservancy_beancount import plugin, _typing
 

	
 
CONFIG_MAP = {}
 
HOOK_REGISTRY = plugin.HookRegistry()
 

	
 
@HOOK_REGISTRY.add_hook
 
class TransactionCounter:
 
    HOOK_GROUPS = frozenset(['Transaction', 'counter'])
 
    DIRECTIVE = _typing.Transaction
 
    HOOK_GROUPS = frozenset()
 

	
 
    def run(self, txn):
 
        return ['txn:{}'.format(id(txn))]
...
 
@@ -33,10 +34,11 @@ class TransactionCounter:
 

	
 
@HOOK_REGISTRY.add_hook
 
class PostingCounter(TransactionCounter):
 
    HOOK_GROUPS = frozenset(['Posting', 'counter'])
 
    DIRECTIVE = _typing.Transaction
 
    HOOK_GROUPS = frozenset(['posting'])
 

	
 
    def run(self, txn, post, post_index):
 
        return ['post:{}'.format(id(post))]
 
    def run(self, txn):
 
        return ['post:{}'.format(id(post)) for post in txn.postings]
 

	
 

	
 
def map_errors(errors):
...
 
@@ -74,7 +76,7 @@ def test_with_posting_hooks_only():
 
            ('Liabilites:CreditCard', -10),
 
        ]),
 
    ]
 
    out_entries, errors = plugin.run(in_entries, CONFIG_MAP, 'Posting', HOOK_REGISTRY)
 
    out_entries, errors = plugin.run(in_entries, CONFIG_MAP, 'posting', HOOK_REGISTRY)
 
    assert len(out_entries) == 2
 
    errmap = map_errors(errors)
 
    assert len(errmap.get('txn', '')) == 0