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 |
|
-
|