Changeset - 1e09339b32f6
[Not reviewed]
0 2 0
Brett Smith - 4 years ago 2020-05-16 13:51:02
brettcsmith@brettcsmith.org
config: Make payment threshold configurable.
2 files changed with 17 insertions and 3 deletions:
0 comments (0 inline, 0 general)
conservancy_beancount/config.py
Show inline comments
...
 
@@ -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:
tests/test_config.py
Show inline comments
...
 
@@ -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,
 
    '',
0 comments (0 inline, 0 general)