franceconnect: return last known DGFiP data (#68720) #62
|
@ -177,6 +177,16 @@ class FranceConnect:
|
|||
data[annrev] = dgfip_ressource_ir_response
|
||||
self.add('dgfip_ressource_ir_response', data)
|
||||
|
||||
def request_dgfip_last_known_ir(self):
|
||||
ir = {}
|
||||
for year, response in self.dgfip_ressource_ir_response.items():
|
||||
if response.get('error'):
|
||||
continue
|
||||
if ir.get('year', '0') < year:
|
||||
ir = response
|
||||
ir['year'] = year
|
||||
self.add('dgfip_ressource_last_known_ir_response', ir)
|
||||
|
||||
def __getattr__(self, name):
|
||||
try:
|
||||
return dict(self.items)[name]
|
||||
|
|
|
@ -186,7 +186,9 @@ class Resource(BaseResource):
|
|||
current_year = now().year
|
||||
for year in range(current_year - 3, current_year):
|
||||
franceconnect.request_dgfip_ir(str(year), id_teleservice=self.dgfip_id_teleservice)
|
||||
franceconnect.request_dgfip_last_known_ir()
|
||||
token['dgfip_ir'] = franceconnect.dgfip_ressource_ir_response
|
||||
token['dgfip_ir']['last_known'] = franceconnect.dgfip_ressource_last_known_ir_response
|
||||
try:
|
||||
template = Template(self.text_template)
|
||||
text_template_context = {
|
||||
|
|
|
@ -59,7 +59,7 @@ DGFIP_MOCKED_RESPONSES = USER_INFO_MOCKED_RESPONSES + [
|
|||
DGFIP_MOCKED_RESPONSES += [
|
||||
[
|
||||
'/impotparticulier/1.0/situations/ir/assiettes/annrev/%s' % year,
|
||||
{'rfr': 0, 'revenuBrutGlobal': 0},
|
||||
{'rfr': year * 2, 'revenuBrutGlobal': year * 10},
|
||||
]
|
||||
for year in range(CURRENT_YEAR - 3, CURRENT_YEAR)
|
||||
]
|
||||
|
@ -165,3 +165,9 @@ def test_dgfip_mode(app, fc):
|
|||
assert data['dgfip_ir']
|
||||
for year in range(CURRENT_YEAR - 3, CURRENT_YEAR):
|
||||
assert data['dgfip_ir'][str(year)]
|
||||
assert 'last_known' in data['dgfip_ir']
|
||||
last_known_ir = data['dgfip_ir']['last_known']
|
||||
past_year = CURRENT_YEAR - 1
|
||||
assert last_known_ir['year'] == str(past_year)
|
||||
assert last_known_ir['revenuBrutGlobal'] == past_year * 10
|
||||
assert last_known_ir['rfr'] == past_year * 2
|
||||
|
|
Loading…
Reference in New Issue