Projet

Général

Profil

0001-tests-test-lazy-workflow-data.patch

Serghei Mihai (congés, retour 15/05), 27 janvier 2020 20:17

Télécharger (2,54 ko)

Voir les différences:

Subject: [PATCH] tests: test lazy workflow data

 tests/test_formdata.py | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)
tests/test_formdata.py
23 23
from wcs import sessions
24 24
from wcs.variables import LazyFormData
25 25
from wcs.workflows import Workflow, WorkflowStatusItem, WorkflowCriticalityLevel, WorkflowBackofficeFieldsFormDef
26
from wcs.wf.jump import JumpWorkflowStatusItem
26 27
from wcs.wf.anonymise import AnonymiseWorkflowStatusItem
27 28
from wcs.wf.wscall import JournalWsCallErrorPart
28 29

  
......
574 575
    role = Role(name='foobar')
575 576
    role.store()
576 577

  
578
    workflow = Workflow(name='bar')
579
    workflow.fields = [
580
        fields.StringField(id='1', label='string', varname='foo_foo_baz'),
581
    ]
582
    st_status = workflow.add_status('New', 'new')
583
    jump = JumpWorkflowStatusItem()
584
    jump.id = '_jump'
585
    jump.by = ['_submitter', '_receiver']
586
    jump.status = 'finished'
587
    jump.parent = st_status
588

  
589
    end_status = workflow.add_status('Finished', 'finished')
590
    st_status.items.append(jump)
591
    workflow.store()
592

  
577 593
    FormDef.wipe()
578 594
    formdef = FormDef()
579 595
    formdef.name = 'foobarlazy'
......
595 611
    ]
596 612
    formdef.workflow_roles = {'_receiver': role.id}
597 613
    formdef.geolocations = {'base': 'Base'}
614
    formdef.workflow_id = workflow.id
598 615
    formdef.store()
599 616
    formdef.data_class().wipe()
600 617
    formdata = formdef.data_class()()
......
624 641
    formdata.data['5'].receive([b'hello world'])
625 642
    formdata.geolocations = {'base': {'lat': 1, 'lon': 2}}
626 643
    formdata.store()
644

  
645
    workflow.data = {
646
        '1': 'workflow baz'
647
    }
648
    workflow.store()
649

  
627 650
    pub.substitutions.feed(pub)
628 651
    pub.substitutions.feed(formdef)
629 652
    pub.substitutions.feed(formdata)
......
865 888
        assert context['form_var_foo_foo'] == 'bar'
866 889
        with pytest.raises(KeyError):
867 890
            context['form_var_xxx']
891
        assert context['form_var_foo_foo_baz'] == 'workflow baz'
868 892
        assert 'bar' in context['form_var_foo_foo']
869 893
        assert context['form_var_foo_foo'] + 'ab' == 'barab'
870 894
        for item in enumerate(context['form_var_foo_foo']):
871
-