Clean up validation and add interactive cmd 'r' to edit recur

This commit is contained in:
Matt Snider
2019-07-13 11:34:03 +02:00
parent 03be344f5e
commit 8180893f08
4 changed files with 47 additions and 27 deletions

View File

@ -4,7 +4,7 @@ Test argument/option validations
"""
import click
import pytest
from todoist_taskwarrior import utils
from todoist_taskwarrior import validation
def validate(fn, value):
@ -19,18 +19,18 @@ def validate(fn, value):
def test_validate_map():
# Simple
assert validate(utils.validate_map, ('HELLO=WORLD',)) == {'HELLO': 'WORLD'}
assert validate(validation.validate_map, ('HELLO=WORLD',)) == {'HELLO': 'WORLD'}
# Missing DST
assert validate(utils.validate_map, ('HELLO=',)) == {'HELLO': None}
assert validate(validation.validate_map, ('HELLO=',)) == {'HELLO': None}
# Multiple
assert validate(utils.validate_map, ('FOO=BAR', 'BAR=BAZZ')) == {'FOO': 'BAR', 'BAR': 'BAZZ'}
assert validate(validation.validate_map, ('FOO=BAR', 'BAR=BAZZ')) == {'FOO': 'BAR', 'BAR': 'BAZZ'}
# Invalid, no '='
with pytest.raises(click.BadParameter):
assert validate(utils.validate_map, ('FOO',)) == None
assert validate(validation.validate_map, ('FOO',)) == None
# Hierarchical src
assert validate(utils.validate_map, ('foo.bar=bazz',)) == {'foo.bar': 'bazz'}
assert validate(utils.validate_map, ('foo bar.bazz=bazz',)) == {'foo bar.bazz': 'bazz'}
assert validate(validation.validate_map, ('foo.bar=bazz',)) == {'foo.bar': 'bazz'}
assert validate(validation.validate_map, ('foo bar.bazz=bazz',)) == {'foo bar.bazz': 'bazz'}