diff --git a/tests/test_hooks.py b/tests/test_hooks.py index 5c3bee8a884e581b306fe4aaed2ceab4dbb851f9..fe787922501eadab62a7e11539a1a88e24eaa844 100644 --- a/tests/test_hooks.py +++ b/tests/test_hooks.py @@ -7,17 +7,28 @@ import pytest from import2ledger import hooks from import2ledger.hooks import add_entity, default_date, filter_by_date, ledger_entry +from . import Config +from . import date_hooks + +def _run_order_test(config, expected_order): + all_hooks = list(hooks.load_all(config)) + positions = {type(hook): index for index, hook in enumerate(all_hooks)} + actual_order = list(sorted(expected_order, key=positions.__getitem__)) + assert actual_order == expected_order + +def test_load_no_config_needed(): + return _run_order_test(Config(), [ + add_entity.AddEntityHook, + ]) + def test_load_all(): - all_hooks = list(hooks.load_all()) - positions = {hook: index for index, hook in enumerate(all_hooks)} - expected_order = [ + config_dict = date_hooks.DateHookTestBase().new_config() + return _run_order_test(Config(config_dict), [ default_date.DefaultDateHook, add_entity.AddEntityHook, filter_by_date.FilterByDateHook, ledger_entry.LedgerEntryHook, - ] - actual_order = list(sorted(expected_order, key=positions.__getitem__)) - assert actual_order == expected_order + ]) class DateRangeConfig: def __init__(self, start_date=None, end_date=None):