tests: add test on conditional jumps
This commit is contained in:
parent
19d938d9c1
commit
b0e706dbec
|
@ -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
|
Loading…
Reference in New Issue