passerelle/tests/test_rsa13.py

847 lines
24 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# -*- 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
from urllib.parse import parse_qs
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",
},
]
@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'],
}
@mock_response(['/api/platform/11/referent/', {'err': 0}])
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',
},
)
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}
@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}
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],
}
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
)
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'}]}
@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,
}
@mock_response(
['/api/platform/11/beneficiaire/386981/transport/', {'err': 0, 'data': BENEFICIAIRE_TRANSPORT}]
)
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,
}
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,
}
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,
}
@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,
}
@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,
}
@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,
}