222 |
222 |
@pytest.mark.parametrize('encoding', ['utf-8', 'cp1252', 'iso-8859-15'])
|
223 |
223 |
def test_user_import(encoding, transactional_db, app, admin, ou1, admin_ou1, media):
|
224 |
224 |
Attribute.objects.create(name='phone', kind='phone_number', label='Numéro de téléphone')
|
|
225 |
Attribute.objects.create(name='birthdate', kind='birthdate', label='Date de naissance')
|
|
226 |
Attribute.objects.create(name='bike', kind='boolean', label='Vélo')
|
225 |
227 |
|
226 |
228 |
user_count = User.objects.count()
|
227 |
229 |
|
228 |
|
assert Attribute.objects.count() == 3
|
|
230 |
assert Attribute.objects.count() == 5
|
229 |
231 |
|
230 |
232 |
response = login(app, admin, '/manage/users/')
|
231 |
233 |
|
... | ... | |
233 |
235 |
response.form.set('import_file',
|
234 |
236 |
Upload(
|
235 |
237 |
'users.csv',
|
236 |
|
u'''email key verified,first_name,last_name,phone
|
237 |
|
tnoel@entrouvert.com,Thomas,Noël,1234
|
238 |
|
fpeters@entrouvert.com,Frédéric,Péters,5678
|
239 |
|
x,x,x,x'''.encode(encoding),
|
|
238 |
u'''email key verified,first_name,last_name,phone,birthdate,bike
|
|
239 |
tnoel@entrouvert.com,Thomas,Noël,1234,01/01/1970,1
|
|
240 |
fpeters@entrouvert.com,Frédéric,Péters,5678,1968-05-01,False
|
|
241 |
x,x,x,x,x,x'''.encode(encoding),
|
240 |
242 |
'application/octet-stream'))
|
241 |
243 |
response.form.set('encoding', encoding)
|
242 |
244 |
response.form.set('ou', str(get_default_ou().pk))
|
... | ... | |
308 |
310 |
last_name=u'Péters',
|
309 |
311 |
attribute_values__content='5678').count() == 1
|
310 |
312 |
|
|
313 |
thomas = User.objects.filter(email='tnoel@entrouvert.com')[0]
|
|
314 |
assert thomas.attributes.values['phone'].content == '1234'
|
|
315 |
assert thomas.attributes.values['birthdate'].content == '1970-01-01'
|
|
316 |
assert thomas.attributes.values['bike'].content == '1'
|
|
317 |
|
|
318 |
fred = User.objects.filter(email='fpeters@entrouvert.com')[0]
|
|
319 |
assert fred.attributes.values['phone'].content == '5678'
|
|
320 |
assert fred.attributes.values['birthdate'].content == '1968-05-01'
|
|
321 |
assert fred.attributes.values['bike'].content == '0'
|
|
322 |
|
311 |
323 |
# logout
|
312 |
324 |
app.session.flush()
|
313 |
325 |
response = login(app, admin_ou1, '/manage/users/')
|
314 |
|
-
|