Projet

Général

Profil

0006-misc-faster-tests.patch

Lauréline Guérin, 18 janvier 2022 15:41

Télécharger (6,48 ko)

Voir les différences:

Subject: [PATCH 6/8] misc: faster tests

 tests/backoffice_pages/test_sort.py | 96 ++++++++++++++++++++++-------
 1 file changed, 74 insertions(+), 22 deletions(-)
tests/backoffice_pages/test_sort.py
12 12
from wcs.workflows import Workflow, WorkflowCriticalityLevel
13 13

  
14 14
from ..utilities import clean_temporary_pub, create_temporary_pub, get_app, login
15
from .test_all import create_environment, create_superuser, create_user
15
from .test_all import create_superuser
16 16

  
17 17

  
18 18
@pytest.fixture
......
40 40

  
41 41

  
42 42
def test_backoffice_listing_order(pub):
43
    pub.user_class.wipe()
43 44
    create_superuser(pub)
44
    create_environment(pub)
45
    formdef = FormDef.get_by_urlname('form-title')
45
    pub.role_class.wipe()
46
    role = pub.role_class(name='test')
47
    role.store()
48

  
49
    FormDef.wipe()
50
    formdef = FormDef()
51
    formdef.name = 'form-title'
52
    formdef.fields = []
53
    formdef.workflow_roles = {'_receiver': role.id}
54
    formdef.store()
55

  
56
    data_class = formdef.data_class()
57
    data_class.wipe()
58

  
46 59
    ids = []
47
    for i, formdata in enumerate(formdef.data_class().select(order_by='id')):
48
        if formdata.status in ('wf-new', 'wf-accepted'):
49
            ids.append(formdata.id)
50
            formdata.receipt_time = datetime.datetime(2015, 1, 1, 10, i).timetuple()
51
            # ordered with odd-numbered ids then even-numbered ids
52
            formdata.evolution[-1].time = datetime.datetime(2015, 2, 1, 10 + i % 2, i).timetuple()
53
            formdata.store()
60
    for i in range(0, 2):
61
        formdata = data_class()
62
        formdata.data = {}
63
        formdata.just_created()
64
        formdata.jump_status('new')
65
        formdata.store()
66
        ids.append(formdata.id)
67
        formdata.receipt_time = datetime.datetime(2015, 1, 1, 10, i).timetuple()
68
        # ordered with odd-numbered ids then even-numbered ids
69
        formdata.evolution[-1].time = datetime.datetime(2015, 2, 1, 10 + i % 2, i).timetuple()
70
        formdata.store()
54 71

  
55 72
    inversed_receipt_time_order = list(reversed([str(x) for x in sorted(ids)]))
56 73
    last_update_time_order = [
......
59 76

  
60 77
    app = login(get_app(pub))
61 78
    resp = app.get('/backoffice/management/form-title/')
62
    assert resp.text.count('data-link') == 17
79
    assert resp.text.count('data-link') == 2
63 80
    ids = [x.strip('/') for x in re.findall(r'data-link="(.*?)"', resp.text)]
64 81
    assert ids == inversed_receipt_time_order
65 82

  
66 83
    resp = app.get('/backoffice/management/form-title/?order_by=receipt_time')
67
    assert resp.text.count('data-link') == 17
84
    assert resp.text.count('data-link') == 2
68 85
    ids = [x.strip('/') for x in re.findall(r'data-link="(.*?)"', resp.text)]
69 86
    assert ids == list(reversed(inversed_receipt_time_order))
70 87

  
71 88
    resp = app.get('/backoffice/management/form-title/?order_by=last_update_time')
72
    assert resp.text.count('data-link') == 17
89
    assert resp.text.count('data-link') == 2
73 90
    ids = [x.strip('/') for x in re.findall(r'data-link="(.*?)"', resp.text)]
74 91
    assert ids == last_update_time_order
75 92

  
76 93
    resp = app.get('/backoffice/management/form-title/?order_by=-last_update_time')
77
    assert resp.text.count('data-link') == 17
94
    assert resp.text.count('data-link') == 2
78 95
    ids = [x.strip('/') for x in re.findall(r'data-link="(.*?)"', resp.text)]
79 96
    assert ids == list(reversed(last_update_time_order))
80 97

  
......
85 102
            pub.site_options.write(fd)
86 103

  
87 104
    resp = app.get('/backoffice/management/form-title/')
88
    assert resp.text.count('data-link') == 17
105
    assert resp.text.count('data-link') == 2
89 106
    ids = [x.strip('/') for x in re.findall(r'data-link="(.*?)"', resp.text)]
90 107
    assert ids == list(reversed(last_update_time_order))
91 108

  
......
94 111

  
95 112

  
96 113
def test_backoffice_criticality_in_formdef_listing_order(pub):
97
    create_user(pub)
98
    create_environment(pub)
114
    pub.user_class.wipe()
115
    create_superuser(pub)
116
    pub.role_class.wipe()
117
    role = pub.role_class(name='test')
118
    role.store()
99 119

  
100 120
    wf = Workflow.get_default_workflow()
101 121
    wf.id = '2'
......
105 125
        WorkflowCriticalityLevel(name='red'),
106 126
    ]
107 127
    wf.store()
108
    formdef = FormDef.get_by_urlname('form-title')
128

  
129
    FormDef.wipe()
130
    formdef = FormDef()
131
    formdef.name = 'form-title'
132
    formdef.fields = []
133
    formdef.workflow_roles = {'_receiver': role.id}
109 134
    formdef.workflow_id = wf.id
110 135
    formdef.store()
111 136

  
137
    data_class = formdef.data_class()
138
    data_class.wipe()
139

  
140
    for i in range(0, 4):
141
        formdata = data_class()
142
        formdata.data = {}
143
        formdata.just_created()
144
        formdata.jump_status('new')
145
        formdata.store()
146

  
112 147
    formdata1, formdata2, formdata3, formdata4 = [
113 148
        x for x in formdef.data_class().select() if x.status == 'wf-new'
114 149
    ][:4]
......
137 172

  
138 173

  
139 174
def test_backoffice_criticality_in_global_listing_order(pub):
140

  
141
    create_user(pub)
142
    create_environment(pub)
175
    pub.user_class.wipe()
176
    create_superuser(pub)
177
    pub.role_class.wipe()
178
    role = pub.role_class(name='test')
179
    role.store()
143 180

  
144 181
    wf = Workflow.get_default_workflow()
145 182
    wf.id = '2'
......
149 186
        WorkflowCriticalityLevel(name='red'),
150 187
    ]
151 188
    wf.store()
152
    formdef = FormDef.get_by_urlname('form-title')
189

  
190
    FormDef.wipe()
191
    formdef = FormDef()
192
    formdef.name = 'form-title'
193
    formdef.fields = []
194
    formdef.workflow_roles = {'_receiver': role.id}
153 195
    formdef.workflow_id = wf.id
154 196
    formdef.store()
155 197

  
198
    data_class = formdef.data_class()
199
    data_class.wipe()
200

  
201
    for i in range(0, 4):
202
        formdata = data_class()
203
        formdata.data = {}
204
        formdata.just_created()
205
        formdata.jump_status('new')
206
        formdata.store()
207

  
156 208
    formdata1, formdata2, formdata3, formdata4 = [
157 209
        x for x in formdef.data_class().select() if x.status == 'wf-new'
158 210
    ][:4]
159
-