wcs/tests/test_formdef.py

92 lines
2.7 KiB
Python

import datetime
import sys
import shutil
from quixote import cleanup
from wcs import formdef
from wcs.formdef import FormDef
from utilities import create_temporary_pub
def setup_module(module):
cleanup()
global pub
pub = create_temporary_pub()
pub.cfg['language'] = {'language': 'en'}
def teardown_module(module):
shutil.rmtree(pub.APP_DIR)
def test_is_disabled():
formdef = FormDef()
assert not formdef.is_disabled()
formdef.disabled = True
assert formdef.is_disabled()
def test_is_disabled_publication_date():
formdef = FormDef()
formdef.publication_date = '%s-%02d-%02d' % (datetime.datetime.today() - datetime.timedelta(1)).timetuple()[:3]
assert not formdef.is_disabled()
formdef.publication_date = '%s-%02d-%02d' % (datetime.datetime.today() + datetime.timedelta(1)).timetuple()[:3]
assert formdef.is_disabled()
def test_is_disabled_expiration_date():
formdef = FormDef()
formdef.expiration_date = '%s-%02d-%02d' % (datetime.datetime.today() - datetime.timedelta(1)).timetuple()[:3]
assert formdef.is_disabled()
formdef.expiration_date = '%s-%02d-%02d' % (datetime.datetime.today() + datetime.timedelta(1)).timetuple()[:3]
assert not formdef.is_disabled()
def test_is_disabled_publication_datetime():
formdef = FormDef()
formdef.publication_date = '%s-%02d-%02d %02d:%02d' % (
datetime.datetime.now() - datetime.timedelta(hours=1)).timetuple()[:5]
assert not formdef.is_disabled()
formdef.publication_date = '%s-%02d-%02d %02d:%02d' % (
datetime.datetime.now() + datetime.timedelta(hours=1)).timetuple()[:5]
assert formdef.is_disabled()
def test_is_disabled_expiration_datetime():
formdef = FormDef()
formdef.expiration_date = '%s-%02d-%02d %02d:%02d' % (
datetime.datetime.now() - datetime.timedelta(hours=1)).timetuple()[:5]
assert formdef.is_disabled()
formdef.expiration_date = '%s-%02d-%02d %02d:%02d' % (
datetime.datetime.now() + datetime.timedelta(hours=1)).timetuple()[:5]
assert not formdef.is_disabled()
def test_title_change():
formdef = FormDef()
formdef.name = 'foo'
formdef.store()
assert FormDef.get(formdef.id).name == 'foo'
assert FormDef.get(formdef.id).url_name == 'foo'
formdef.name = 'bar'
formdef.store()
assert FormDef.get(formdef.id).name == 'bar'
assert FormDef.get(formdef.id).url_name == 'bar'
# makes sure the url_name doesn't change if there are submitted forms
formdef.data_class()().store()
formdef.name = 'baz'
formdef.store()
assert FormDef.get(formdef.id).name == 'baz'
assert FormDef.get(formdef.id).url_name == 'bar' # didn't change