0001-rsa13-keep-csv-columns-value-on-edit-73068.patch
passerelle/contrib/rsa13/models.py | ||
---|---|---|
65 | 65 | |
66 | 66 |
class RSA13Form(GenericConnectorForm): |
67 | 67 |
def __init__(self, *args, **kwargs): |
68 |
kwargs['initial'] = {} |
|
69 |
for name in RSA13Resource.CSV_EXPORTS: |
|
70 |
field = f'{name}_csv_columns' |
|
71 |
kwargs['initial'][field] = dump_csv_columns(DEFAULTS[field]) |
|
68 |
instance = kwargs.get('instance') |
|
69 |
if instance is None: |
|
70 |
kwargs['initial'] = {} |
|
71 |
for name in RSA13Resource.CSV_EXPORTS: |
|
72 |
field = f'{name}_csv_columns' |
|
73 |
kwargs['initial'][field] = dump_csv_columns(DEFAULTS[field]) |
|
74 |
else: |
|
75 |
for name in RSA13Resource.CSV_EXPORTS: |
|
76 |
field = f'{name}_csv_columns' |
|
77 |
if not getattr(instance, field): |
|
78 |
setattr(instance, field, dump_csv_columns(DEFAULTS[field])) |
|
72 | 79 |
super().__init__(*args, **kwargs) |
73 | 80 | |
74 | 81 |
tests/conftest.py | ||
---|---|---|
200 | 200 | |
201 | 201 | |
202 | 202 |
@pytest.fixture |
203 |
def simple_user(): |
|
203 |
def simple_user(db):
|
|
204 | 204 |
return User.objects.create_user('user', password='user') |
205 | 205 | |
206 | 206 | |
207 | 207 |
@pytest.fixture |
208 |
def admin_user(): |
|
208 |
def admin_user(db):
|
|
209 | 209 |
return User.objects.create_superuser('admin', email=None, password='admin') |
210 | 210 | |
211 | 211 |
tests/test_rsa13.py | ||
---|---|---|
26 | 26 |
from django.db.migrations.executor import MigrationExecutor |
27 | 27 | |
28 | 28 |
import tests.utils |
29 |
from passerelle.contrib.rsa13.models import RSA13Resource |
|
29 |
from passerelle.contrib.rsa13.models import DEFAULTS, RSA13Resource, dump_csv_columns |
|
30 | ||
31 |
from .test_manager import login |
|
30 | 32 | |
31 | 33 | |
32 | 34 |
@pytest.fixture |
... | ... | |
1405 | 1407 |
assert resource.beneficiaire_csv_columns == 'A 2\nB' |
1406 | 1408 |
assert resource.facturation_csv_columns == 'C\nD' |
1407 | 1409 |
assert resource.sorti_csv_columns == 'E\nF' |
1410 | ||
1411 | ||
1412 |
def test_manager(app, admin_user): |
|
1413 |
app = login(app) |
|
1414 |
resp = app.get('/manage/') |
|
1415 |
resp = resp.click('Add Connector') |
|
1416 |
resp = resp.click('RSA CD13') |
|
1417 |
resp.forms[0]['title'] = 'Test Connector' |
|
1418 |
resp.forms[0]['slug'] = 'test-connector' |
|
1419 |
resp.forms[0]['description'] = 'Connector for a simple test' |
|
1420 |
resp.forms[0]['webservice_base_url'] = 'https://example.com/' |
|
1421 |
resp = resp.forms[0].submit().follow() |
|
1422 |
assert 'Test Connector' in resp.text |
|
1423 | ||
1424 |
instance = RSA13Resource.objects.get() |
|
1425 |
for key in DEFAULTS: |
|
1426 |
assert getattr(instance, key) == dump_csv_columns(DEFAULTS[key]) |
|
1427 | ||
1428 |
resp = resp.click('Edit') |
|
1429 |
resp.form.set('beneficiaire_csv_columns', 'NUM_CAF') |
|
1430 |
resp.form.set('facturation_csv_columns', 'MATRICULE') |
|
1431 |
resp.form.set('sorti_csv_columns', 'NUM_CAF') |
|
1432 |
resp = resp.form.submit().follow() |
|
1433 |
instance = RSA13Resource.objects.get() |
|
1434 |
for key in DEFAULTS: |
|
1435 |
assert getattr(instance, key) in ['NUM_CAF', 'MATRICULE'] |
|
1436 | ||
1437 |
resp = resp.click('Edit') |
|
1438 |
for key in DEFAULTS: |
|
1439 |
assert resp.form[key].value in ['NUM_CAF', 'MATRICULE'] |
|
1408 |
- |