Projet

Général

Profil

0005-tests-check-it-s-possible-to-add-a-related-card-file.patch

Frédéric Péters, 18 décembre 2022 11:30

Télécharger (2,84 ko)

Voir les différences:

Subject: [PATCH 5/5] tests: check it's possible to add a related card file
 field column (#69237)

 tests/backoffice_pages/test_columns.py | 64 ++++++++++++++++++++++++++
 1 file changed, 64 insertions(+)
tests/backoffice_pages/test_columns.py
406 406
    } in resp_geojson.json['features'][0]['properties']['display_fields']
407 407

  
408 408

  
409
def test_backoffice_card_item_file_field_column(pub):
410
    pub.user_class.wipe()
411
    create_superuser(pub)
412
    pub.role_class.wipe()
413
    role = pub.role_class(name='test')
414
    role.store()
415

  
416
    CardDef.wipe()
417
    carddef = CardDef()
418
    carddef.name = 'foo'
419
    carddef.fields = [
420
        fields.FileField(id='1', label='Test', type='file'),
421
    ]
422
    carddef.digest_templates = {'default': 'card {{ form_number }}'}
423
    carddef.store()
424
    carddef.data_class().wipe()
425

  
426
    upload = PicklableUpload('test.txt', 'text/plain')
427
    upload.receive([b'text'])
428
    card = carddef.data_class()()
429
    card.data = {
430
        '1': upload,
431
    }
432
    card.store()
433

  
434
    FormDef.wipe()
435
    formdef = FormDef()
436
    formdef.name = 'form-title'
437
    formdef.fields = [
438
        fields.ItemField(
439
            id='4', label='card field', type='item', data_source={'type': 'carddef:foo', 'value': ''}
440
        )
441
    ]
442
    formdef.workflow_roles = {'_receiver': role.id}
443
    formdef.store()
444

  
445
    data_class = formdef.data_class()
446
    data_class.wipe()
447

  
448
    formdata = data_class()
449
    formdata.data = {
450
        '4': str(card.id),
451
    }
452
    formdata.data['4_display'] = formdef.fields[-1].store_display_value(formdata.data, '4')
453
    formdata.data['4_structured'] = formdef.fields[-1].store_structured_value(formdata.data, '4')
454
    formdata.just_created()
455
    formdata.jump_status('new')
456
    formdata.store()
457

  
458
    app = login(get_app(pub))
459
    resp = app.get('/backoffice/management/form-title/')
460
    assert resp.text.count('</th>') == 6  # four columns
461
    resp.forms['listing-settings']['4$1'].checked = True
462
    resp = resp.forms['listing-settings'].submit()
463
    assert resp.text.count('</th>') == 7
464
    assert resp.text.count('data-link') == 1  # 1 row
465
    assert resp.text.count('<td>test.txt</td>') == 1
466

  
467
    resp_csv = resp.click('Export a Spreadsheet')
468
    resp_csv.form['format'] = 'csv'
469
    resp_csv = resp_csv.form.submit('submit')
470
    assert resp_csv.text.splitlines()[1].endswith(',"test.txt"')
471

  
472

  
409 473
def test_backoffice_block_columns(pub):
410 474
    pub.user_class.wipe()
411 475
    create_superuser(pub)
412
-