0001-formdef-use-custom-json-encoder-for-schema-export-11.patch
tests/test_admin_pages.py | ||
---|---|---|
559 | 559 |
resp = resp.forms[0].submit('cancel') |
560 | 560 |
assert resp.location == 'http://example.net/backoffice/forms/1/' |
561 | 561 | |
562 |
# check with a date field |
|
563 |
workflow.variables_formdef.fields.append( |
|
564 |
fields.DateField(id='2', varname='test2', label='Test2', type='date')) |
|
565 |
workflow.store() |
|
566 | ||
567 |
resp = app.get('/backoffice/forms/1/') |
|
568 |
resp = resp.click(href='workflow-variables') |
|
569 |
resp.form['f2'] = '2016-06-17' |
|
570 |
resp = resp.form.submit() |
|
571 |
assert time.strftime('%d %m %y', FormDef.get(formdef.id).workflow_options.get('test2')) == '17 06 16' |
|
572 | ||
562 | 573 |
def test_form_roles(pub): |
563 | 574 |
create_superuser(pub) |
564 | 575 |
role = create_role() |
tests/test_formdef.py | ||
---|---|---|
1 | 1 |
import datetime |
2 |
import json |
|
2 | 3 |
import sys |
3 | 4 |
import shutil |
5 |
import time |
|
4 | 6 | |
5 | 7 |
import pytest |
6 | 8 | |
... | ... | |
10 | 12 |
from wcs import formdef |
11 | 13 |
from wcs.formdef import FormDef |
12 | 14 |
from wcs.workflows import Workflow |
13 |
from wcs.fields import StringField, FileField |
|
15 |
from wcs.fields import StringField, FileField, DateField
|
|
14 | 16 | |
15 | 17 |
from utilities import create_temporary_pub |
16 | 18 | |
... | ... | |
115 | 117 |
assert 'form_option_foo' in formdef.get_substitution_variables() |
116 | 118 |
assert formdef.get_substitution_variables()['form_option_foo'] == 'bar' |
117 | 119 | |
120 |
def test_schema_with_date_variable(): |
|
121 |
FormDef.wipe() |
|
122 |
formdef = FormDef() |
|
123 |
formdef.name = 'foo' |
|
124 |
formdef.store() |
|
125 | ||
126 |
from wcs.workflows import WorkflowVariablesFieldsFormDef |
|
127 |
wf = Workflow(name='variables') |
|
128 |
wf.variables_formdef = WorkflowVariablesFieldsFormDef(workflow=wf) |
|
129 |
wf.variables_formdef.fields.append( |
|
130 |
DateField(label='Test', type='date', varname='foo')) |
|
131 |
wf.store() |
|
132 |
formdef.workflow_id = wf.id |
|
133 |
formdef.workflow_options = {'foo': time.gmtime(time.mktime((2016, 4, 2, 0, 0, 0, 0, 0, 0)))} |
|
134 |
assert json.loads(formdef.export_to_json())['options']['foo'].startswith('2016-04') |
|
135 | ||
118 | 136 |
def test_substitution_variables_object(): |
119 | 137 |
formdef = FormDef() |
120 | 138 |
formdef.name = 'foo' |
wcs/formdef.py | ||
---|---|---|
560 | 560 |
if self.workflow_options: |
561 | 561 |
root['options'] = self.workflow_options |
562 | 562 | |
563 |
return json.dumps(root, indent=indent) |
|
563 |
return json.dumps(root, indent=indent, cls=misc.JSONEncoder)
|
|
564 | 564 | |
565 | 565 |
@classmethod |
566 | 566 |
def import_from_json(cls, fd, charset=None, include_id=False): |
567 |
- |