206 |
206 |
]
|
207 |
207 |
assert resp.json['workflow']['status']['name'] == 'New'
|
208 |
208 |
assert resp.json['workflow']['real_status']['name'] == 'New'
|
209 |
|
assert resp.json['submission']['channel'] == 'web'
|
|
209 |
assert resp.json['submission'] == {'backoffice': False, 'channel': 'web'}
|
210 |
210 |
assert resp.json['geolocations']['base']['lon'] == 10
|
211 |
211 |
assert resp.json['geolocations']['base']['lat'] == -12
|
212 |
212 |
|
... | ... | |
284 |
284 |
}
|
285 |
285 |
|
286 |
286 |
|
|
287 |
def test_formdata_submission_fields(pub, local_user):
|
|
288 |
agent = pub.user_class(name='agent')
|
|
289 |
agent.store()
|
|
290 |
|
|
291 |
pub.role_class.wipe()
|
|
292 |
role = pub.role_class(name='test')
|
|
293 |
role.id = '123'
|
|
294 |
role.store()
|
|
295 |
local_user.roles = [role.id]
|
|
296 |
local_user.store()
|
|
297 |
|
|
298 |
user_formdef = UserFieldsFormDef(pub)
|
|
299 |
user_formdef.fields = [
|
|
300 |
fields.StringField(id='3', label='test', type='string', varname='var1'),
|
|
301 |
fields.StringField(id='9', label='noop', type='string', varname='var2'),
|
|
302 |
fields.StringField(id='42', label='no varname', type='string'),
|
|
303 |
]
|
|
304 |
user_formdef.store()
|
|
305 |
local_user.form_data = {'3': 'toto', '9': 'nono'}
|
|
306 |
local_user.store()
|
|
307 |
|
|
308 |
FormDef.wipe()
|
|
309 |
formdef = FormDef()
|
|
310 |
formdef.name = 'test'
|
|
311 |
formdef.workflow_roles = {'_receiver': role.id}
|
|
312 |
formdef.store()
|
|
313 |
|
|
314 |
formdef.data_class().wipe()
|
|
315 |
formdata = formdef.data_class()()
|
|
316 |
formdata.user_id = local_user.id
|
|
317 |
formdata.submission_agent_id = agent.id
|
|
318 |
formdata.just_created()
|
|
319 |
formdata.store()
|
|
320 |
|
|
321 |
resp = get_app(pub).get(sign_uri('/api/forms/test/list', user=local_user))
|
|
322 |
assert 'submission' not in resp.json[0]
|
|
323 |
resp = get_app(pub).get(sign_uri('/api/forms/test/list?full=on', user=local_user))
|
|
324 |
assert resp.json[0]['submission'] == {
|
|
325 |
'backoffice': False,
|
|
326 |
'channel': 'web',
|
|
327 |
'agent': {'id': agent.id, 'name': 'agent'},
|
|
328 |
}
|
|
329 |
resp = get_app(pub).get(sign_uri('/api/forms/test/%s/' % formdata.id, user=local_user))
|
|
330 |
assert resp.json['submission'] == {
|
|
331 |
'backoffice': False,
|
|
332 |
'channel': 'web',
|
|
333 |
'agent': {'id': agent.id, 'name': 'agent'},
|
|
334 |
}
|
|
335 |
|
|
336 |
|
287 |
337 |
def test_formdata_backoffice_fields(pub, local_user):
|
288 |
338 |
test_formdata(pub, local_user)
|
289 |
339 |
Workflow.wipe()
|