11 |
11 |
from wcs.categories import CardDefCategory
|
12 |
12 |
from wcs.formdef import FormDef
|
13 |
13 |
from wcs.qommon.http_request import HTTPRequest
|
14 |
|
from wcs.workflows import Workflow
|
|
14 |
from wcs.workflows import Workflow, WorkflowBackofficeFieldsFormDef
|
15 |
15 |
|
16 |
16 |
from ..utilities import clean_temporary_pub, create_temporary_pub, get_app, login
|
17 |
17 |
from .test_all import create_superuser, create_user
|
... | ... | |
551 |
551 |
assert '(line numbers 4, 5, 7, 8, 9 and more)' in resp.text
|
552 |
552 |
|
553 |
553 |
|
|
554 |
def test_backoffice_cards_import_data_csv_no_backoffice_fields(pub):
|
|
555 |
user = create_user(pub)
|
|
556 |
user.name_identifiers = [str(uuid.uuid4())]
|
|
557 |
user.store()
|
|
558 |
|
|
559 |
Workflow.wipe()
|
|
560 |
workflow = Workflow(name='form-title')
|
|
561 |
workflow.backoffice_fields_formdef = WorkflowBackofficeFieldsFormDef(workflow)
|
|
562 |
workflow.backoffice_fields_formdef.fields = [
|
|
563 |
fields.StringField(id='bo0', varname='foo_bovar', type='string', label='bo variable'),
|
|
564 |
]
|
|
565 |
|
|
566 |
CardDef.wipe()
|
|
567 |
carddef = CardDef()
|
|
568 |
carddef.name = 'test'
|
|
569 |
carddef.fields = [
|
|
570 |
fields.StringField(id='1', label='String'),
|
|
571 |
fields.ItemField(id='2', label='List', items=['item1', 'item2']),
|
|
572 |
]
|
|
573 |
carddef.backoffice_submission_roles = user.roles
|
|
574 |
carddef.store()
|
|
575 |
carddef.data_class().wipe()
|
|
576 |
|
|
577 |
app = login(get_app(pub))
|
|
578 |
sample_resp = app.get('/backoffice/data/test/data-sample-csv')
|
|
579 |
assert sample_resp.text.splitlines()[0] == '"String","List"'
|
|
580 |
data = b'''\
|
|
581 |
"String","List"
|
|
582 |
"test","item1"
|
|
583 |
"test","item2"
|
|
584 |
'''
|
|
585 |
resp = app.get('/backoffice/data/test/import-csv')
|
|
586 |
resp.forms[0]['file'] = Upload('test.csv', data, 'text/csv')
|
|
587 |
resp = resp.forms[0].submit().follow()
|
|
588 |
assert carddef.data_class().count() == 2
|
|
589 |
|
|
590 |
|
554 |
591 |
def test_backoffice_cards_wscall_failure_display(http_requests, pub):
|
555 |
592 |
user = create_user(pub)
|
556 |
593 |
|