passerelle/tests/test_rsa13.py

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

847 lines
24 KiB
Python
Raw Normal View History

2020-11-05 07:10:53 +01:00
# -*- coding: utf-8 -*-
# passerelle - uniform access to multiple data sources and services
# Copyright (C) 2018 Entr'ouvert
#
# This program is free software: you can redistribute it and/or modify it
# under the terms of the GNU Affero General Public License as published
# by the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import functools
import json
2020-11-16 12:01:06 +01:00
from urllib.parse import parse_qs
2020-11-05 07:10:53 +01:00
import httmock
import pytest
import utils
from passerelle.contrib.rsa13.models import RSA13Resource
@pytest.fixture
def rsa13(db):
return utils.make_resource(
RSA13Resource,
title='Test',
slug='test',
description='Test',
webservice_base_url='https://rsa-cd13.com',
basic_auth_username='username',
basic_auth_password='password',
)
@pytest.fixture
def url(rsa13):
return '/rsa13/%s/' % rsa13.slug
def mock_response(*path_contents):
def decorator(func):
@httmock.urlmatch()
def error(url, request):
assert False, 'request to %s' % (url,)
@functools.wraps(func)
def wrapper(*args, **kwargs):
handlers = []
for row in path_contents:
try:
path, query, content = row
except ValueError:
path, content = row
query = None
@httmock.urlmatch(path=path)
def handler(url, request):
if query:
assert parse_qs(url.query) == parse_qs(query), 'query does not match'
return json.dumps(content)
handlers.append(handler)
handlers.append(error)
with httmock.HTTMock(*handlers):
return func(*args, **kwargs)
return wrapper
return decorator
@mock_response(['/api/check', {'ping': 'pong'}])
def test_check_status(rsa13):
rsa13.check_status()
EMAIL = 'john.doe@example.com'
IP = '127.0.0.1'
@pytest.fixture
def app(app):
'''Add authentication params email/ip to all requests'''
orig_do_request = app.do_request
def do_request(req, *args, **kwargs):
qs = 'email=%s&ip=%s' % (EMAIL, IP)
if req.environ['QUERY_STRING']:
req.environ['QUERY_STRING'] += '&' + qs
else:
req.environ['QUERY_STRING'] = qs
return orig_do_request(req, *args, **kwargs)
app.do_request = do_request
return app
MOTICLODAC_CODES = [
{'id': 'ABSSUIVI', 'text': 'Aucune info. sur le suivi'},
{'id': 'CADUQUE', 'text': 'Caduque'},
{'id': 'REALISEE', 'text': 'Réalisée'},
{'id': 'RUPTINJUST', 'text': 'Rupture injustifiée'},
{'id': 'RUPTJUSTIF', 'text': 'Rupture justifiée'},
]
@mock_response(['/api/cg_ref_code/domain/MOTICLODAC', {'err': 0, 'data': MOTICLODAC_CODES}])
def test_nomenclature(app, rsa13, url):
response = app.get(url + 'nomenclature/MOTICLODAC/')
assert response.json == {
'err': 0,
'data': MOTICLODAC_CODES,
}
PLATFORM_LIST = [{'dsp': 'LA', 'id': 11, 'name': 'ADPEI', 'role': 'Coordonnateur'}]
@mock_response(['/api/platform/', {'err': 0, 'data': PLATFORM_LIST}])
def test_platform(app, rsa13, url):
response = app.get(url + 'platform/')
assert response.json['data'] == PLATFORM_LIST
PLATFORM_DETAIL = {
"id": 11,
"name": "ADPEI",
"dsp": "LA",
"adr1": "ADPEI",
"adr2": None,
"adr3": None,
"adr4": "18 BOULEVARD CAMILLE FLAMMARION",
"adr5": None,
"adr6": "13001 MARSEILLE",
"tel": "0491110140",
"queries": [
{"id": 1, "name": "NON CONSULTÉ", "count": 727},
{"id": 2, "name": "SANS RU", "count": 727},
{"id": 3, "name": "SANS CONTRAT SUR LA PLATEFORME", "count": 231},
{"id": 4, "name": "CONTRAT BIENTOT TERMINE", "count": 0},
{"id": 5, "name": "SANS AUCUNE ACTION", "count": 44},
{"id": 6, "name": "ACTION VALIDEE NON DEBUTEE NON CLOSE", "count": 111},
],
}
@mock_response(['/api/platform/11/', {'err': 0, 'data': PLATFORM_DETAIL}])
def test_platform_details(app, rsa13, url):
response = app.get(url + 'platform/11/')
assert response.json == {
'err': 0,
'data': PLATFORM_DETAIL,
}
PLATFORM_REFERENT = [
{
"id": 324,
"nom": "EHRMANN ",
"prenom": "Jean Paul",
"tel": None,
"email": "john.doe@example.com",
"role": "Coordonnateur",
"statut": "Actif",
},
{
"id": 239,
"nom": "CHAUMONT ",
"prenom": "Nadine",
"tel": '090909090909',
"email": "jane.doe@example.com",
"role": "Accompagnateur",
"statut": "Clos",
2020-11-05 07:10:53 +01:00
},
]
@mock_response(['/api/platform/11/referent/', {'err': 0, 'data': PLATFORM_REFERENT}])
def test_platform_referent(app, rsa13, url):
response = app.get(url + 'platform/11/referent/')
assert response.json == {
'err': 0,
'data': PLATFORM_REFERENT,
}
@mock_response(['/api/platform/11/referent/', {'err': 0, 'data': PLATFORM_REFERENT}])
def test_platform_referent_with_status(app, rsa13, url):
response = app.get(url + 'platform/11/referent/?statut=Actif')
assert response.json == {
'err': 0,
'data': [ref for ref in PLATFORM_REFERENT if ref['statut'] == 'Actif'],
}
2021-03-11 23:00:51 +01:00
@mock_response(['/api/platform/11/referent/', {'err': 0}])
2020-11-05 07:10:53 +01:00
def test_platform_referent_post(app, rsa13, url):
response = app.post_json(
url + 'platform/11/referent/',
params={
'email': 'john.doe@example.com',
'prenom': 'John',
'nom': 'Doe',
'tel': '0909090909',
},
)
2021-03-11 23:00:51 +01:00
assert response.json == {'err': 0}
@mock_response(['/api/platform/11/referent/', {'err': 0}])
def test_platform_referent_post_empty_mail_and_tel(app, rsa13, url):
response = app.post_json(
url + 'platform/11/referent/',
params={
'email': '',
'prenom': 'John',
'nom': 'Doe',
'tel': '',
},
)
assert response.json == {'err': 0}
2021-03-11 23:00:51 +01:00
@mock_response(['/api/platform/11/referent/1/', {'err': 0}])
def test_platform_referent_update(app, rsa13, url):
response = app.post_json(
url + 'platform/11/referent/1/',
params={
'email': 'john.doe@example.com',
'prenom': 'John',
'nom': 'Doe',
'tel': '0909090909',
'statut': 'A',
},
)
assert response.json == {'err': 0}
2020-11-05 07:10:53 +01:00
BENEFICIAIRE = {
"id": 386981,
"civilite": "MR",
"nom": "AAABEFBAADF",
"prenom": "ACCDCBE",
"date_naissance": "1958-01-01",
"actif": "Oui",
"matricule": "193740",
"code_postal": "13001",
"commune": "MARSEILLE",
"code_pi": "51",
"referent": " ",
"date_deb_affectation": "2019-03-11",
"consulte": "Oui",
"toppersdrodevorsa": "Oui",
}
@mock_response(['/api/platform/11/beneficiaire/', 'nom=AAABEFBAADF', {'err': 0, 'data': [BENEFICIAIRE]}])
def test_platform_beneficiaire_nom(app, rsa13, url):
response = app.get(url + 'platform/11/beneficiaire/', params={'nom': 'AAABEFBAADF'})
assert response.json == {
"err": 0,
"data": [BENEFICIAIRE],
}
@mock_response(['/api/platform/11/beneficiaire/', 'matricule=193740', {'err': 0, 'data': [BENEFICIAIRE]}])
def test_platform_beneficiaire_matricule(app, rsa13, url):
response = app.get(url + 'platform/11/beneficiaire/', params={'matricule': '193740'})
assert response.json == {
"err": 0,
"data": [BENEFICIAIRE],
}
@mock_response(['/api/platform/11/beneficiaire/', 'page=0', {'err': 0, 'data': [BENEFICIAIRE]}])
def test_platform_beneficiaire_page(app, rsa13, url):
response = app.get(url + 'platform/11/beneficiaire/', params={'page': '0'})
assert response.json == {
"err": 0,
"data": [BENEFICIAIRE],
}
@mock_response(
[
'/api/platform/11/beneficiaire/',
'page=0&nom=NOM&prenom=PRENOM&matricule=MATRICULE&referent=REFERENT',
{'err': 0, 'data': [BENEFICIAIRE]},
]
)
def test_platform_beneficiaire_full(app, rsa13, url):
response = app.get(
url + 'platform/11/beneficiaire/',
params={
'page': '0',
'nom': 'NOM',
'prenom': 'PRENOM',
'matricule': 'MATRICULE',
'referent': 'REFERENT',
},
)
assert response.json == {
"err": 0,
"data": [BENEFICIAIRE],
}
2021-03-11 23:00:51 +01:00
BENEFICIAIRE_CSV = {
"NUM_CAF": '1234',
"CODE_PER": '1234',
"PRENOM_PER": 'prenom',
"DTNAI_PER": '1234',
"ACTIF_PER": '1234',
"NOM_PER": 'nom',
}
@mock_response(
[
'/api/platform/11/beneficiaire/csv/',
'query=1',
{'err': 0, 'data': [BENEFICIAIRE_CSV]},
]
)
def test_platform_beneficiaire_csv(app, rsa13, url):
response = app.get(
url + 'platform/11/beneficiaire/csv/',
params={
'query': '1',
},
)
assert (
response.content
== b'''\xef\xbb\xbfNUM_CAF;CODE_PER;NOM_PER;PRENOM_PER;DTNAI_PER;ACTIF_PER;CODE_PI;LIB_CODE_PI;TOPPERSDRODEVORSA;LIB_ETATDOSRSA;LIB_MOTIF_ETATDOSRSA;NB_JOUR_DEPUIS_ARR;DATE_DEB;DATE_1IERE_CONS;DATE_DERNIERE_CONSULT;DATE_REELLE_RDV;NUM_CINS;DATE_SIGN;DATE_DEB_CI;DATE_FIN_CI;REFERENT_CI;ACTION_EN_COURS;DELAI_REGUL;PROC_EN_COURS;REFERENT_AFFECTATION\r\n1234;1234;nom;prenom;1234;1234;;;;;;;;;;;;;;;;;;;\r\n''' # NOQA E501
2021-03-11 23:00:51 +01:00
)
2020-11-05 07:10:53 +01:00
BENEFICIAIRE_DETAIL = {
'actif': 'Oui',
'adresse': {
'adr2': '8 RUE MISSION DE FRANCE',
'adr3': '13001 MARSEILLE',
'adr4': None,
'adr5': None,
'adr6': None,
},
'age': '62 ans',
'civilite': 'MR',
'code_pi': '51',
'commentaire_ref': None,
'conjoint': {
'age': '52 ans',
'id': 854379,
'nom': 'AAABEFBAADF',
'plateforme': 'PI51',
'prenom': 'EEFBEFEC',
},
'date_de_naissance': '1958-01-01',
'droit': {
'date_demande': '2008-10-16',
'etat': 'Droit ouvert et versable',
'motif': None,
'toppersdrodevorsa': 'Oui',
},
'enfants': [
{'age': '16 ans', 'nom': 'DBFFFCDDDDCBAEAC', 'prenom': 'DCACBEAFFD'},
{'age': '14 ans', 'nom': 'DBFFFCDDDDCBAEAC', 'prenom': 'BEDAEDEEBBCD'},
],
'id': 386981,
'lib_code_pi': "Pôle d'Insertion Marseille I",
'matricule': '193740',
'nom': 'AAABEFBAADF',
'nomnaiss': 'EAEFEFDDDBEFDF',
'numdemrsa': '13378013',
'prenom': 'ACCDCBE',
'referent': {'id': None, 'nom': None, 'prenom': None},
'situation_familiale': {'date_debut': '2007-10-01', 'libelle': 'VIE MARITALE'},
}
@mock_response(['/api/platform/11/beneficiaire/386981/', {'err': 0, 'data': BENEFICIAIRE_DETAIL}])
def test_platform_beneficiaire_detail(app, rsa13, url):
response = app.get(url + 'platform/11/beneficiaire/386981/')
assert response.json == {
'err': 0,
'data': BENEFICIAIRE_DETAIL,
}
BENEFICIAIRE_TRANSPORT = {'cumuls': [{'duree': 54, 'type': 'GTU'}]}
2021-03-11 23:00:51 +01:00
@mock_response(['/api/platform/11/beneficiaire/386981/telephone/', {'err': 0}])
def test_platform_beneficiaire_telephone(app, rsa13, url):
response = app.post_json(
url + 'platform/11/beneficiaire/386981/telephone/',
params={'tel': '0909090909', 'commentaire': 'coin'},
)
assert response.json == {
'err': 0,
}
@mock_response(['/api/platform/11/beneficiaire/386981/telephone/0909090909/', {'err': 0}])
def test_platform_beneficiaire_telephone_update(app, rsa13, url):
response = app.post_json(
url + 'platform/11/beneficiaire/386981/telephone/0909090909/',
params={'commentaire': 'coin'},
)
assert response.json == {
'err': 0,
}
@mock_response(['/api/platform/11/beneficiaire/386981/telephone/0909090909/', {'err': 0}])
def test_platform_beneficiaire_telephone_delete(app, rsa13, url):
response = app.delete(
url + 'platform/11/beneficiaire/386981/telephone/0909090909/',
)
assert response.json == {
'err': 0,
}
@mock_response(['/api/platform/11/beneficiaire/386981/email/', {'err': 0}])
def test_platform_beneficiaire_email(app, rsa13, url):
response = app.post_json(
url + 'platform/11/beneficiaire/386981/email/',
params={'courriel': 'john.doe@example.com', 'commentaire': 'coin'},
)
assert response.json == {
'err': 0,
}
@mock_response(['/api/platform/11/beneficiaire/386981/email/john.doe@example.com/', {'err': 0}])
def test_platform_beneficiaire_email_update(app, rsa13, url):
response = app.post_json(
url + 'platform/11/beneficiaire/386981/email/john.doe@example.com/',
params={'commentaire': 'coin'},
)
assert response.json == {
'err': 0,
}
@mock_response(['/api/platform/11/beneficiaire/386981/email/john.doe@example.com/', {'err': 0}])
def test_platform_beneficiaire_email_delete(app, rsa13, url):
response = app.delete(
url + 'platform/11/beneficiaire/386981/email/john.doe@example.com/',
)
assert response.json == {
'err': 0,
}
2020-11-16 12:01:06 +01:00
@mock_response(
['/api/platform/11/beneficiaire/386981/transport/', {'err': 0, 'data': BENEFICIAIRE_TRANSPORT}]
)
2020-11-05 07:10:53 +01:00
def test_platform_beneficiaire_transport(app, rsa13, url):
response = app.get(url + 'platform/11/beneficiaire/386981/transport/')
assert response.json == {'err': 0, 'data': BENEFICIAIRE_TRANSPORT}
BENEFICIAIRE_CONTRAT = [
{
'clos': 'Non',
'date_deb': '2019-09-18',
'date_fin': '2020-03-18',
'decision': 'Validé',
'duree': 6,
'id': 15,
'operateur': 'ADPEI',
'plateforme': 'ADPEI',
'referent': 'EHRMANN J',
'retab': 'Non',
},
{
'clos': 'Oui',
'date_deb': '2019-03-21',
'date_fin': '2019-09-21',
'decision': 'Validé',
'duree': 6,
'id': 14,
'operateur': 'ADPEI',
'plateforme': 'ADPEI',
'referent': 'EHRMANN J',
'retab': 'Non',
},
{
'clos': 'Oui',
'date_deb': '2009-04-03',
'date_fin': '2009-10-02',
'decision': 'Validé',
'duree': 6,
'id': 0,
'operateur': 'REPRISE HISTORIQUE LOGIFORM',
'plateforme': 'REPRISE HISTORIQUE LOGIFORM',
'referent': ' ',
'retab': 'Non',
},
]
@mock_response(['/api/platform/11/beneficiaire/386981/contrat/', {'err': 0, 'data': BENEFICIAIRE_CONTRAT}])
def test_platform_beneficiaire_contrat(app, rsa13, url):
response = app.get(url + 'platform/11/beneficiaire/386981/contrat/')
assert response.json == {
'err': 0,
'data': BENEFICIAIRE_CONTRAT,
}
2020-11-16 12:01:06 +01:00
2020-11-05 07:10:53 +01:00
BENEFICIAIRE_CONTRAT_DETAIL = {
'commentaire': 'Gratuité RTM refusée. En tant que bénéficiaire de la '
'CMUC vous pouvez obtenir un tarif préférentiel sur '
'le réseau RTM.',
'date_clos': None,
'date_cvs': None,
'date_deb': '2019-09-18',
'date_fin': '2020-03-18',
'date_retab': None,
'date_sign': '2019-09-03',
'decision': 'Validé',
'duree': 6,
'id': 15,
'motif_cvs': None,
'operateur': 'ADPEI',
'plateforme': 'ADPEI',
'referent': {'commentaire': None, 'nom': 'EHRMANN ', 'prenom': 'Jean Paul'},
'type_contrat': "Contrat d'Engagement Réciproque-Social",
}
@mock_response(
['/api/platform/11/beneficiaire/386981/contrat/15/', {'err': 0, 'data': BENEFICIAIRE_CONTRAT_DETAIL}]
)
def test_platform_beneficiaire_contrat_detail(app, rsa13, url):
response = app.get(url + 'platform/11/beneficiaire/386981/contrat/15/')
assert response.json == {
'err': 0,
'data': BENEFICIAIRE_CONTRAT_DETAIL,
}
2020-11-16 12:01:06 +01:00
BENEFICIAIRE_ACTION = [
{
'clos': 'Oui',
'contrat_id': 4,
'date_deb': None,
'date_fin': None,
'date_preconisation': '2011-11-18',
'id': 663774,
'libelle': "Recherche autonome d'emploi",
'validation': 'Non',
},
{
'clos': 'Oui',
'contrat_id': 0,
'date_deb': '2009-04-03',
'date_fin': '2009-10-02',
'date_preconisation': '2009-09-05',
'id': 7435,
'libelle': 'Ne plus utilisé-Reprise historique Logiform',
'validation': 'Oui',
},
]
@mock_response(['/api/platform/11/beneficiaire/386981/action/', {'err': 0, 'data': BENEFICIAIRE_ACTION}])
def test_platform_beneficiaire_action(app, rsa13, url):
response = app.get(url + 'platform/11/beneficiaire/386981/action/')
assert response.json == {
'err': 0,
'data': BENEFICIAIRE_ACTION,
}
BENEFICIAIRE_ACTION_DETAIL = {
'id': 663774,
'contrat_id': 4,
'sac': 'E3',
'libelle': "Recherche autonome d'emploi",
'date_deb': None,
'date_fin': None,
'date_preconisation': '2011-11-18',
'date_cloture': '2012-01-12',
'moticlodac': None,
'lib_moticlodac': None,
'validation': 'Non',
'financement': {'montant_accorde': None, 'montant_demande': None},
'commentaire_ref': None,
}
@mock_response(
['/api/platform/11/beneficiaire/386981/action/663774/', {'err': 0, 'data': BENEFICIAIRE_ACTION_DETAIL}]
)
def test_platform_beneficiaire_action_detail(app, rsa13, url):
response = app.get(url + 'platform/11/beneficiaire/386981/action/663774/')
assert response.json == {
'err': 0,
'data': BENEFICIAIRE_ACTION_DETAIL,
}
2021-03-11 23:00:51 +01:00
@mock_response(['/api/platform/11/beneficiaire/386981/action/663774/', {'err': 0}])
def test_platform_beneficiaire_action_detail_update(app, rsa13, url):
response = app.post_json(
url + 'platform/11/beneficiaire/386981/action/663774/', params={'date_debug': '2021-01-01'}
)
assert response.json == {
'err': 0,
}
BENEFICIAIRE_FONDSAIDE = [
{
'avis_pi': {'avis': 'Refusée', 'date': '2019-07-08', 'montant': 0},
'avis_sai': {'avis': None, 'date': None, 'montant': 0},
'clos': 'Non',
'code_tfi': 'FAI8',
'demande': {'date': '2019-07-01', 'montant': 970},
'id': 39605,
'lib_tfi': 'FAI Permis B',
}
]
@mock_response(
['/api/platform/11/beneficiaire/386981/fondsaide/', {'err': 0, 'data': BENEFICIAIRE_FONDSAIDE}]
)
def test_platform_beneficiaire_fondsaide(app, rsa13, url):
response = app.get(url + 'platform/11/beneficiaire/386981/fondsaide/')
# 365385/fonds-d-aide/fond-d-aide/39605/
assert response.json == {
'err': 0,
'data': BENEFICIAIRE_FONDSAIDE,
}
BENEFICIAIRE_FONDSAIDE_DETAIL = {
'avis_pi': {'avis': 'Refusée', 'date': '2019-07-08', 'montant': 0},
'budget': {
'date_reception': None,
'justificatifs': [
{
'conforme': None,
'date_reception': None,
'date_relance': None,
'num_versement': 1,
'reception': 'Non',
'type': 'Document officiel de ' 'présentation au code de la ' 'route (ETG)',
},
{
'conforme': None,
'date_reception': None,
'date_relance': None,
'num_versement': 1,
'reception': 'Non',
'type': "Relevé d'identité bancaire",
},
{
'conforme': None,
'date_reception': None,
'date_relance': None,
'num_versement': 2,
'reception': 'Non',
'type': 'Document officiel de '
'présentation à lexamen '
'pratique du permis de '
'conduire',
},
],
'nombre_versements': 2,
},
'cloture': {'date_cloture': None, 'date_relance': None},
'code_tfi': 'FAI8',
'decision_sai': {'date': None, 'decision': None, 'montant': 0},
'demande': {'date': '2019-07-01', 'montant': 970},
'id': 39605,
'lib_tfi': 'FAI Permis B',
'recours': {
'date_decision': None,
'date_demande': None,
'decision': None,
'montant': None,
},
}
@mock_response(
['/api/platform/11/beneficiaire/386981/fondsaide/1/', {'err': 0, 'data': BENEFICIAIRE_FONDSAIDE_DETAIL}]
)
def test_platform_beneficiaire_fondsaide_detail(app, rsa13, url):
response = app.get(url + 'platform/11/beneficiaire/386981/fondsaide/1/')
assert response.json == {
'err': 0,
'data': BENEFICIAIRE_FONDSAIDE_DETAIL,
}
BENEFICIAIRE_AFFECTATION = [
{
'id': 1599703,
'dispoitif': 'LA',
'plateforme': 'ADPEI',
'code_pi': 51,
'referent': ' ',
'date_deb': '2019-03-11',
'origine': 'CER',
},
{
'id': 28726,
'dispoitif': 'MDS',
'plateforme': 'MDS PRESSENSE',
'code_pi': 51,
'referent': ' ',
'date_deb': '2012-03-22',
'origine': 'CER',
},
]
@mock_response(
['/api/platform/11/beneficiaire/386981/affectation/', {'err': 0, 'data': BENEFICIAIRE_AFFECTATION}]
)
def test_platform_beneficiaire_affectation(app, rsa13, url):
response = app.get(url + 'platform/11/beneficiaire/386981/affectation/')
assert response.json == {
'err': 0,
'data': BENEFICIAIRE_AFFECTATION,
}
BENEFICIAIRE_AFFECTATION_DETAIL = {
'id': 1599703,
'dispositif': 'LA',
'plateforme': 'ADPEI',
'code_pi': 51,
'referent': {'nom': None, 'prenom': None},
'erreur': 'Non',
'date_deb': '2019-03-11',
'origine': 'CER',
'prescripteur': {'type': 'PI', 'dispositif': None, 'plateforme': None},
'rendez-vous': {
'date_prise': None,
'relance': {'date': None, 'motif': None, 'lib_motif': None},
'date_reelle': None,
'resultat': None,
'lib_resultat': None,
},
'fin': {'motif': None, 'lib_motif': None, 'date': None},
'commentaire_ref': None,
}
@mock_response(
[
'/api/platform/11/beneficiaire/386981/affectation/1/',
{'err': 0, 'data': BENEFICIAIRE_AFFECTATION_DETAIL},
]
)
def test_platform_beneficiaire_affectation_detail(app, rsa13, url):
response = app.get(url + 'platform/11/beneficiaire/386981/affectation/1/')
assert response.json == {
'err': 0,
'data': BENEFICIAIRE_AFFECTATION_DETAIL,
}
2021-03-11 23:00:51 +01:00
@mock_response(
[
'/api/platform/11/beneficiaire/386981/affectation/1/',
{'err': 0},
]
)
def test_platform_beneficiaire_affectation_detail_update(app, rsa13, url):
response = app.post_json(
url + 'platform/11/beneficiaire/386981/affectation/1/',
params={'rendezvous': {'date_prise': '2020-01-01'}},
)
assert response.json == {
'err': 0,
}
BENEFICIAIRE_CONVO = {
'convos_par_motif': [{'motif': "Absence de Contrat d'Engagement Réciproque", 'nombre': 2}],
'derniere_consequence': {'date': None, 'consequence': None},
}
@mock_response(['/api/platform/11/beneficiaire/386981/convo/', {'err': 0, 'data': BENEFICIAIRE_CONVO}])
def test_platform_beneficiaire_convo(app, rsa13, url):
response = app.get(url + 'platform/11/beneficiaire/386981/convo/')
assert response.json == {
'err': 0,
'data': BENEFICIAIRE_CONVO,
}
BENEFICIAIRE_EMPLOI = {
'id': '6720658N',
'date_sortie': None,
'motif_sortie': None,
'date_inscription': '2018-05-14',
'date_dernier_ent': '2019-04-11',
'code_rome': 'F1606',
'lib_rome': 'Peintre tapissier / tapissière',
'lib_modalite': 'RENFORCE',
'lib_niveau': 'CERTIFICATION DE NIVEAU 5 (CAP, BEP)',
'lib_secteur': None,
'code_axe': '06',
'lib_axe': "LEVEE DES FREINS PERIPHERIQUES A L'EMPLOI",
'code_categorie': '1',
'lib_categorie': 'PERSONNE SANS EMPLOI DISPONIBLE DUREE INDETERMINEE PLEIN TPS',
}
@mock_response(['/api/platform/11/beneficiaire/386981/emploi/', {'err': 0, 'data': BENEFICIAIRE_EMPLOI}])
def test_platform_beneficiaire_emploi(app, rsa13, url):
response = app.get(url + 'platform/11/beneficiaire/386981/emploi/')
assert response.json == {
'err': 0,
'data': BENEFICIAIRE_EMPLOI,
}
2021-03-11 23:00:51 +01:00
@mock_response(['/api/platform/11/beneficiaire/386981/reaffectation/', {'err': 0}])
def test_platform_beneficiaire_reaffectation(app, rsa13, url):
response = app.post_json(
url + 'platform/11/beneficiaire/386981/reaffectation/', params={'motif': 'OK', 'commentaire': 'NOK'}
)
assert response.json == {
'err': 0,
}