tests: add test on conditional jumps

This commit is contained in:
Frédéric Péters 2014-12-29 17:03:53 +01:00
parent 19d938d9c1
commit b0e706dbec
1 changed files with 46 additions and 0 deletions

46
tests/test_workflows.py Normal file
View File

@ -0,0 +1,46 @@
import datetime
import shutil
from quixote import cleanup
from quixote.http_request import HTTPRequest
from wcs.formdef import FormDef
from wcs.wf.jump import JumpWorkflowStatusItem
from utilities import create_temporary_pub
def setup_module(module):
cleanup()
global pub
pub = create_temporary_pub()
def teardown_module(module):
global pub
shutil.rmtree(pub.APP_DIR)
def test_jump_nothing():
FormDef.wipe()
formdef = FormDef()
formdef.name = 'foobar'
formdef.store()
formdata = formdef.data_class()()
item = JumpWorkflowStatusItem()
assert item.must_jump(formdata) is True
def test_jump_datetime_condition():
FormDef.wipe()
formdef = FormDef()
formdef.name = 'foobar'
formdef.store()
formdata = formdef.data_class()()
item = JumpWorkflowStatusItem()
yesterday = datetime.datetime.now() - datetime.timedelta(days=1)
item.condition = 'datetime.datetime.now() > datetime.datetime(%s, %s, %s)' % \
yesterday.timetuple()[:3]
assert item.must_jump(formdata) is True
tomorrow = datetime.datetime.now() + datetime.timedelta(days=1)
item.condition = 'datetime.datetime.now() > datetime.datetime(%s, %s, %s)' % \
tomorrow.timetuple()[:3]
assert item.must_jump(formdata) is False