toulouse-maelis: return a quotients dict on RL (#77257)
gitea/passerelle/pipeline/head This commit looks good
Details
gitea/passerelle/pipeline/head This commit looks good
Details
This commit is contained in:
parent
135cdbf46a
commit
86ac566bbb
|
@ -348,6 +348,7 @@ def remove_id_on_rlg(conn, rlg):
|
||||||
rlg['indicatorList'].sort(key=lambda x: x['code'])
|
rlg['indicatorList'].sort(key=lambda x: x['code'])
|
||||||
rlg['quotientList'].sort(key=lambda x: (x['yearRev'], x['dateStart']))
|
rlg['quotientList'].sort(key=lambda x: (x['yearRev'], x['dateStart']))
|
||||||
del rlg['indicators'] # order may change
|
del rlg['indicators'] # order may change
|
||||||
|
del rlg['quotients'] # order may change
|
||||||
rlg['subscribeActivityList'] = [] # not managed by test yet
|
rlg['subscribeActivityList'] = [] # not managed by test yet
|
||||||
del rlg['subscribe_natures'] # order may change
|
del rlg['subscribe_natures'] # order may change
|
||||||
|
|
||||||
|
|
|
@ -414,6 +414,18 @@ class ToulouseMaelis(BaseResource, HTTPResource):
|
||||||
result[item['id']] = item
|
result[item['id']] = item
|
||||||
data['indicators'] = result
|
data['indicators'] = result
|
||||||
|
|
||||||
|
def add_quotients_field(self, data):
|
||||||
|
quotients = {}
|
||||||
|
for item in data['quotientList']:
|
||||||
|
key = item['cdquo']
|
||||||
|
if key not in quotients:
|
||||||
|
quotients[key] = []
|
||||||
|
quotients[key].append(item)
|
||||||
|
data['quotients'] = {
|
||||||
|
x: sorted(y, key=lambda z: (z['yearRev'], z['dateStart'], z['dateEnd']), reverse=True)
|
||||||
|
for x, y in quotients.items()
|
||||||
|
}
|
||||||
|
|
||||||
def add_nature_subscriptions(self, data):
|
def add_nature_subscriptions(self, data):
|
||||||
subscribe_natures = {}
|
subscribe_natures = {}
|
||||||
for item in data['subscribeActivityList'] or []:
|
for item in data['subscribeActivityList'] or []:
|
||||||
|
@ -483,6 +495,7 @@ class ToulouseMaelis(BaseResource, HTTPResource):
|
||||||
for quotient in data['quotientList']:
|
for quotient in data['quotientList']:
|
||||||
self.add_text_value('Quotient', quotient, ['cdquo'])
|
self.add_text_value('Quotient', quotient, ['cdquo'])
|
||||||
self.add_indicators_field('RLIndicator', data)
|
self.add_indicators_field('RLIndicator', data)
|
||||||
|
self.add_quotients_field(data)
|
||||||
self.add_nature_subscriptions(data)
|
self.add_nature_subscriptions(data)
|
||||||
self.add_text_value_to_birth(data)
|
self.add_text_value_to_birth(data)
|
||||||
|
|
||||||
|
|
|
@ -54,6 +54,27 @@
|
||||||
<mtt>1500.33</mtt>
|
<mtt>1500.33</mtt>
|
||||||
<cdquo>QS</cdquo>
|
<cdquo>QS</cdquo>
|
||||||
</quotientList>
|
</quotientList>
|
||||||
|
<quotientList>
|
||||||
|
<yearRev>2021</yearRev>
|
||||||
|
<dateStart>2021-01-01T00:00:00+01:00</dateStart>
|
||||||
|
<dateEnd>2021-01-01T00:00:00+01:00</dateEnd>
|
||||||
|
<mtt>300</mtt>
|
||||||
|
<cdquo>QS</cdquo>
|
||||||
|
</quotientList>
|
||||||
|
<quotientList>
|
||||||
|
<yearRev>2021</yearRev>
|
||||||
|
<dateStart>2021-01-01T00:00:00+01:00</dateStart>
|
||||||
|
<dateEnd>2021-01-02T00:00:00+01:00</dateEnd>
|
||||||
|
<mtt>200</mtt>
|
||||||
|
<cdquo>QS</cdquo>
|
||||||
|
</quotientList>
|
||||||
|
<quotientList>
|
||||||
|
<yearRev>2021</yearRev>
|
||||||
|
<dateStart>2021-01-02T00:00:00+01:00</dateStart>
|
||||||
|
<dateEnd>2021-01-02T00:00:00+01:00</dateEnd>
|
||||||
|
<mtt>100</mtt>
|
||||||
|
<cdquo>QS</cdquo>
|
||||||
|
</quotientList>
|
||||||
<quotientList>
|
<quotientList>
|
||||||
<yearRev>2021</yearRev>
|
<yearRev>2021</yearRev>
|
||||||
<dateStart>2022-01-01T00:00:00+01:00</dateStart>
|
<dateStart>2022-01-01T00:00:00+01:00</dateStart>
|
||||||
|
|
|
@ -54,6 +54,27 @@
|
||||||
<mtt>1500.33</mtt>
|
<mtt>1500.33</mtt>
|
||||||
<cdquo>QS</cdquo>
|
<cdquo>QS</cdquo>
|
||||||
</quotientList>
|
</quotientList>
|
||||||
|
<quotientList>
|
||||||
|
<yearRev>2021</yearRev>
|
||||||
|
<dateStart>2021-01-01T00:00:00+01:00</dateStart>
|
||||||
|
<dateEnd>2021-01-01T00:00:00+01:00</dateEnd>
|
||||||
|
<mtt>300</mtt>
|
||||||
|
<cdquo>QS</cdquo>
|
||||||
|
</quotientList>
|
||||||
|
<quotientList>
|
||||||
|
<yearRev>2021</yearRev>
|
||||||
|
<dateStart>2021-01-01T00:00:00+01:00</dateStart>
|
||||||
|
<dateEnd>2021-01-02T00:00:00+01:00</dateEnd>
|
||||||
|
<mtt>200</mtt>
|
||||||
|
<cdquo>QS</cdquo>
|
||||||
|
</quotientList>
|
||||||
|
<quotientList>
|
||||||
|
<yearRev>2021</yearRev>
|
||||||
|
<dateStart>2021-01-02T00:00:00+01:00</dateStart>
|
||||||
|
<dateEnd>2021-01-02T00:00:00+01:00</dateEnd>
|
||||||
|
<mtt>100</mtt>
|
||||||
|
<cdquo>QS</cdquo>
|
||||||
|
</quotientList>
|
||||||
<quotientList>
|
<quotientList>
|
||||||
<yearRev>2021</yearRev>
|
<yearRev>2021</yearRev>
|
||||||
<dateStart>2022-01-01T00:00:00+01:00</dateStart>
|
<dateStart>2022-01-01T00:00:00+01:00</dateStart>
|
||||||
|
|
|
@ -54,6 +54,27 @@
|
||||||
<mtt>1500.33</mtt>
|
<mtt>1500.33</mtt>
|
||||||
<cdquo>QS</cdquo>
|
<cdquo>QS</cdquo>
|
||||||
</quotientList>
|
</quotientList>
|
||||||
|
<quotientList>
|
||||||
|
<yearRev>2021</yearRev>
|
||||||
|
<dateStart>2021-01-01T00:00:00+01:00</dateStart>
|
||||||
|
<dateEnd>2021-01-01T00:00:00+01:00</dateEnd>
|
||||||
|
<mtt>300</mtt>
|
||||||
|
<cdquo>QS</cdquo>
|
||||||
|
</quotientList>
|
||||||
|
<quotientList>
|
||||||
|
<yearRev>2021</yearRev>
|
||||||
|
<dateStart>2021-01-01T00:00:00+01:00</dateStart>
|
||||||
|
<dateEnd>2021-01-02T00:00:00+01:00</dateEnd>
|
||||||
|
<mtt>200</mtt>
|
||||||
|
<cdquo>QS</cdquo>
|
||||||
|
</quotientList>
|
||||||
|
<quotientList>
|
||||||
|
<yearRev>2021</yearRev>
|
||||||
|
<dateStart>2021-01-02T00:00:00+01:00</dateStart>
|
||||||
|
<dateEnd>2021-01-02T00:00:00+01:00</dateEnd>
|
||||||
|
<mtt>100</mtt>
|
||||||
|
<cdquo>QS</cdquo>
|
||||||
|
</quotientList>
|
||||||
<quotientList>
|
<quotientList>
|
||||||
<yearRev>2021</yearRev>
|
<yearRev>2021</yearRev>
|
||||||
<dateStart>2022-01-01T00:00:00+01:00</dateStart>
|
<dateStart>2022-01-01T00:00:00+01:00</dateStart>
|
||||||
|
|
|
@ -1386,6 +1386,8 @@ def test_read_family(family_service, xml, con, app):
|
||||||
del data['profession']
|
del data['profession']
|
||||||
del data['indicatorList']
|
del data['indicatorList']
|
||||||
del data['indicators']
|
del data['indicators']
|
||||||
|
del data['quotientList']
|
||||||
|
del data['quotients']
|
||||||
assert data == {
|
assert data == {
|
||||||
'num': '613878',
|
'num': '613878',
|
||||||
'lastname': 'DOE',
|
'lastname': 'DOE',
|
||||||
|
@ -1424,26 +1426,6 @@ def test_read_family(family_service, xml, con, app):
|
||||||
'CAFInfo': None,
|
'CAFInfo': None,
|
||||||
'civility_text': 'Monsieur',
|
'civility_text': 'Monsieur',
|
||||||
'quality_text': 'PERE',
|
'quality_text': 'PERE',
|
||||||
'quotientList': [
|
|
||||||
{
|
|
||||||
'cdquo': 'QS',
|
|
||||||
'cdquo_text': 'QUOTIENT SCOLAIRE',
|
|
||||||
'codeUti': None,
|
|
||||||
'dateEnd': '2021-12-31T00:00:00+01:00',
|
|
||||||
'dateStart': '2021-01-01T00:00:00+01:00',
|
|
||||||
'mtt': 1500.33,
|
|
||||||
'yearRev': 2020,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'cdquo': 'MOY ECO',
|
|
||||||
'cdquo_text': 'REVENU MOYEN ( MENSUEL OU ANNUEL)',
|
|
||||||
'codeUti': None,
|
|
||||||
'dateEnd': '2022-12-31T00:00:00+01:00',
|
|
||||||
'dateStart': '2022-01-01T00:00:00+01:00',
|
|
||||||
'mtt': 1500.44,
|
|
||||||
'yearRev': 2021,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
'subscribeActivityList': [],
|
'subscribeActivityList': [],
|
||||||
'subscribe_natures': {},
|
'subscribe_natures': {},
|
||||||
}
|
}
|
||||||
|
@ -1498,6 +1480,104 @@ def test_read_family(family_service, xml, con, app):
|
||||||
'typeDesc': 'NONE',
|
'typeDesc': 'NONE',
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
assert resp.json['data']['RL1']['quotientList'] == [
|
||||||
|
{
|
||||||
|
'yearRev': 2020,
|
||||||
|
'dateStart': '2021-01-01T00:00:00+01:00',
|
||||||
|
'dateEnd': '2021-12-31T00:00:00+01:00',
|
||||||
|
'mtt': 1500.33,
|
||||||
|
'cdquo': 'QS',
|
||||||
|
'codeUti': None,
|
||||||
|
'cdquo_text': 'QUOTIENT SCOLAIRE',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'yearRev': 2021,
|
||||||
|
'dateStart': '2021-01-01T00:00:00+01:00',
|
||||||
|
'dateEnd': '2021-01-01T00:00:00+01:00',
|
||||||
|
'mtt': 300.0,
|
||||||
|
'cdquo': 'QS',
|
||||||
|
'codeUti': None,
|
||||||
|
'cdquo_text': 'QUOTIENT SCOLAIRE',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'yearRev': 2021,
|
||||||
|
'dateStart': '2021-01-01T00:00:00+01:00',
|
||||||
|
'dateEnd': '2021-01-02T00:00:00+01:00',
|
||||||
|
'mtt': 200.0,
|
||||||
|
'cdquo': 'QS',
|
||||||
|
'codeUti': None,
|
||||||
|
'cdquo_text': 'QUOTIENT SCOLAIRE',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'yearRev': 2021,
|
||||||
|
'dateStart': '2021-01-02T00:00:00+01:00',
|
||||||
|
'dateEnd': '2021-01-02T00:00:00+01:00',
|
||||||
|
'mtt': 100.0,
|
||||||
|
'cdquo': 'QS',
|
||||||
|
'codeUti': None,
|
||||||
|
'cdquo_text': 'QUOTIENT SCOLAIRE',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'yearRev': 2021,
|
||||||
|
'dateStart': '2022-01-01T00:00:00+01:00',
|
||||||
|
'dateEnd': '2022-12-31T00:00:00+01:00',
|
||||||
|
'mtt': 1500.44,
|
||||||
|
'cdquo': 'MOY ECO',
|
||||||
|
'codeUti': None,
|
||||||
|
'cdquo_text': 'REVENU MOYEN ( MENSUEL OU ANNUEL)',
|
||||||
|
},
|
||||||
|
]
|
||||||
|
assert resp.json['data']['RL1']['quotients'] == {
|
||||||
|
'QS': [
|
||||||
|
{
|
||||||
|
'yearRev': 2021,
|
||||||
|
'dateStart': '2021-01-02T00:00:00+01:00',
|
||||||
|
'dateEnd': '2021-01-02T00:00:00+01:00',
|
||||||
|
'mtt': 100.0,
|
||||||
|
'cdquo': 'QS',
|
||||||
|
'codeUti': None,
|
||||||
|
'cdquo_text': 'QUOTIENT SCOLAIRE',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'yearRev': 2021,
|
||||||
|
'dateStart': '2021-01-01T00:00:00+01:00',
|
||||||
|
'dateEnd': '2021-01-02T00:00:00+01:00',
|
||||||
|
'mtt': 200.0,
|
||||||
|
'cdquo': 'QS',
|
||||||
|
'codeUti': None,
|
||||||
|
'cdquo_text': 'QUOTIENT SCOLAIRE',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'yearRev': 2021,
|
||||||
|
'dateStart': '2021-01-01T00:00:00+01:00',
|
||||||
|
'dateEnd': '2021-01-01T00:00:00+01:00',
|
||||||
|
'mtt': 300.0,
|
||||||
|
'cdquo': 'QS',
|
||||||
|
'codeUti': None,
|
||||||
|
'cdquo_text': 'QUOTIENT SCOLAIRE',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'yearRev': 2020,
|
||||||
|
'dateStart': '2021-01-01T00:00:00+01:00',
|
||||||
|
'dateEnd': '2021-12-31T00:00:00+01:00',
|
||||||
|
'mtt': 1500.33,
|
||||||
|
'cdquo': 'QS',
|
||||||
|
'codeUti': None,
|
||||||
|
'cdquo_text': 'QUOTIENT SCOLAIRE',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
'MOY ECO': [
|
||||||
|
{
|
||||||
|
'yearRev': 2021,
|
||||||
|
'dateStart': '2022-01-01T00:00:00+01:00',
|
||||||
|
'dateEnd': '2022-12-31T00:00:00+01:00',
|
||||||
|
'mtt': 1500.44,
|
||||||
|
'cdquo': 'MOY ECO',
|
||||||
|
'codeUti': None,
|
||||||
|
'cdquo_text': 'REVENU MOYEN ( MENSUEL OU ANNUEL)',
|
||||||
|
}
|
||||||
|
],
|
||||||
|
}
|
||||||
data = resp.json['data']['childList'][0]
|
data = resp.json['data']['childList'][0]
|
||||||
del data['medicalRecord']
|
del data['medicalRecord']
|
||||||
del data['authorizedPersonList']
|
del data['authorizedPersonList']
|
||||||
|
@ -1723,6 +1803,9 @@ def test_read_rl1(family_service, con, app):
|
||||||
assert resp.json['err'] == 0
|
assert resp.json['err'] == 0
|
||||||
assert resp.json['data']['firstname'] == 'JHON'
|
assert resp.json['data']['firstname'] == 'JHON'
|
||||||
|
|
||||||
|
template = '{{ data.quotients.QS.0.mtt }} {{ data.quotients.QS.1.mtt }}'
|
||||||
|
assert render_to_string(template, resp.json) == '100.0 200.0'
|
||||||
|
|
||||||
|
|
||||||
def test_read_rl1_with_income_year(family_service, con, app):
|
def test_read_rl1_with_income_year(family_service, con, app):
|
||||||
family_service.add_soap_response('readFamily', get_xml_file('R_read_family_with_income_year.xml'))
|
family_service.add_soap_response('readFamily', get_xml_file('R_read_family_with_income_year.xml'))
|
||||||
|
@ -1811,6 +1894,7 @@ def test_read_rl2(family_service, con, app):
|
||||||
'civility_text': 'Madame',
|
'civility_text': 'Madame',
|
||||||
'quality_text': 'MERE',
|
'quality_text': 'MERE',
|
||||||
'quotientList': [],
|
'quotientList': [],
|
||||||
|
'quotients': {},
|
||||||
'indicatorList': [],
|
'indicatorList': [],
|
||||||
'indicators': {
|
'indicators': {
|
||||||
'AVL': {
|
'AVL': {
|
||||||
|
|
Loading…
Reference in New Issue