rsa13: add sous-action endpoint (#67210)

This commit is contained in:
Benjamin Dauvergne 2022-07-10 11:48:43 +02:00
parent 10103f9d45
commit 99d70b3a02
2 changed files with 139 additions and 0 deletions

View File

@ -2017,3 +2017,31 @@ class RSA13Resource(BaseResource, HTTPResource):
for row in content.get('data') or []:
writer.writerow(str(row.get(name) or '') for name in names)
return response
@endpoint(
name='sous-action',
description=_('Get sub-actions'),
perm='can_access',
json_schema_response=response_schema(
{
'type': 'array',
'items': {
'type': 'object',
'required': ['id', 'text'],
'properties': {
'id': {
'type': 'string',
},
'text': {
'type': 'string',
},
'description': {
'type': 'string',
},
},
},
}
),
)
def sous_action(self, request, email, ip=None):
return self.get('sousaction/', email=email, ip=ip)

View File

@ -1237,3 +1237,114 @@ def test_platform_beneficiaire_sorti_csv(app, rsa13, url, settings):
response = app.get(url + 'platform/11/beneficiaire/sorti/csv/')
stream = io.StringIO(response.content.decode('utf-8-sig'))
assert list(csv.reader(stream, delimiter=';')) == [['NUM_CAF'], ['372927'], ['1677380']]
@mock_response(
[
'/api/sousaction/',
{
'err': 0,
'data': [
{
"id": "A1",
"text": "A1 - DAIE 13",
"description": "DISPOSITIF d'Accompagnement et d'Insertion par l'Emploi.\n",
},
{
"id": "A10",
"text": "A10 - Accompagnement Global",
"description": (
'Accompagnement de Pôle Emploi qui permet la prise en charge simultanée de '
'problématiques sociales et professionnelles, par lintervention conjointe '
'dun travailleur social et dun conseiller dédié de Pôle Emploi.'
),
},
{
"id": "A11",
"text": "A11 - MODALH",
"description": (
'Cest un diagnostic qui évalue lemployabilité ou la nécessité '
'dun accès à une prestation plus adaptée (AAH) pour les bénéficiaires '
'du RSA ayant un CER santé. La prescription est uniquement assuré par '
'le médecin du Pôle dinsertion.'
),
},
{
"id": "A12",
"text": "A12 - PHARE",
"description": (
'Cest un accompagnement pour le retour à lemploi des bénéficiaires '
'du RSA reconnus travailleur handicapé. Il se formalise par la réalisation dun CER.'
),
},
{"id": "A13", "text": "A13 - CAP Emploi", "description": None},
{
"id": "A14",
"text": "A14 - Accompagnement Global spécialisé",
"description": (
'A utiliser dans le cadre de la convention signée avec trois lieux d\'accueil '
'sur lexpérimentation de laccompagnement global spécialisé'
),
},
{"id": "A15", "text": "A15 - Boost Emploi", "description": None},
{
"id": "A16",
"text": "A16 - Lieu accueil spécialisé travailleur indépendant",
"description": None,
},
],
},
]
)
def test_sous_action(app, rsa13, url):
response = app.get(url + 'sous-action/')
assert response.json == {
'data': [
{
'description': "DISPOSITIF d'Accompagnement et d'Insertion par " "l'Emploi.\n",
'id': 'A1',
'text': 'A1 - DAIE 13',
},
{
'description': 'Accompagnement de Pôle Emploi qui permet la prise '
'en charge simultanée de problématiques sociales et '
'professionnelles, par lintervention conjointe dun '
'travailleur social et dun conseiller dédié de Pôle '
'Emploi.',
'id': 'A10',
'text': 'A10 - Accompagnement Global',
},
{
'description': 'Cest un diagnostic qui évalue lemployabilité ou '
'la nécessité dun accès à une prestation plus '
'adaptée (AAH) pour les bénéficiaires du RSA ayant '
'un CER santé. La prescription est uniquement assuré '
'par le médecin du Pôle dinsertion.',
'id': 'A11',
'text': 'A11 - MODALH',
},
{
'description': 'Cest un accompagnement pour le retour à lemploi '
'des bénéficiaires du RSA reconnus travailleur '
'handicapé. Il se formalise par la réalisation dun '
'CER.',
'id': 'A12',
'text': 'A12 - PHARE',
},
{'description': None, 'id': 'A13', 'text': 'A13 - CAP Emploi'},
{
'description': 'A utiliser dans le cadre de la convention signée '
"avec trois lieux d'accueil sur lexpérimentation de "
'laccompagnement global spécialisé',
'id': 'A14',
'text': 'A14 - Accompagnement Global spécialisé',
},
{'description': None, 'id': 'A15', 'text': 'A15 - Boost Emploi'},
{
'description': None,
'id': 'A16',
'text': 'A16 - Lieu accueil spécialisé travailleur indépendant',
},
],
'err': 0,
}