config: Make payment threshold configurable.
This commit is contained in:
parent
2b7c1acff4
commit
1e09339b32
2 changed files with 17 additions and 3 deletions
|
@ -157,7 +157,10 @@ class Config:
|
|||
return books.FiscalYear(month, day)
|
||||
|
||||
def payment_threshold(self) -> decimal.Decimal:
|
||||
return decimal.Decimal(0)
|
||||
try:
|
||||
return decimal.Decimal(self.file_config['Beancount']['payment threshold'])
|
||||
except (KeyError, ValueError):
|
||||
return decimal.Decimal(10)
|
||||
|
||||
def repository_path(self) -> Optional[Path]:
|
||||
try:
|
||||
|
|
|
@ -293,11 +293,22 @@ def test_relative_xdg_cache_home_ignored(tmp_path):
|
|||
cache_dir_path = config.cache_dir_path('TESTcache')
|
||||
assert cache_dir_path == tmp_path / '.cache/TESTcache'
|
||||
|
||||
def test_payment_threshold():
|
||||
def test_default_payment_threshold():
|
||||
threshold = config_mod.Config().payment_threshold()
|
||||
assert threshold == 0
|
||||
assert isinstance(threshold, (int, decimal.Decimal))
|
||||
|
||||
@pytest.mark.parametrize('config_threshold', [
|
||||
'15',
|
||||
' +15',
|
||||
'15. ',
|
||||
'15.0',
|
||||
'15.00',
|
||||
])
|
||||
def test_payment_threshold(config_threshold):
|
||||
config = config_mod.Config()
|
||||
config.load_string(f'[Beancount]\npayment threshold = {config_threshold}\n')
|
||||
assert config.payment_threshold() == decimal.Decimal(15)
|
||||
|
||||
@pytest.mark.parametrize('config_path', [
|
||||
None,
|
||||
'',
|
||||
|
|
Loading…
Reference in a new issue