52 |
52 |
csp_mapping,
|
53 |
53 |
lien_parente_mapping,
|
54 |
54 |
type_regime_mapping,
|
55 |
|
get_reference_year_from_date,
|
56 |
55 |
upperize,
|
57 |
56 |
)
|
58 |
57 |
from passerelle.utils.jsonresponse import APIError
|
... | ... | |
777 |
776 |
assert resp.json['data']['annee_reference_label'] == '2019/2020'
|
778 |
777 |
|
779 |
778 |
with mock.patch('passerelle.contrib.toulouse_axel.models.ToulouseAxel.are_children_registered') as registered:
|
780 |
|
registered.side_effect = [{'4242': True}, {}]
|
|
779 |
registered.return_value = {'4242': True}
|
781 |
780 |
with mock.patch('passerelle.contrib.toulouse_axel.models.ToulouseAxel.get_management_dates') as management_dates:
|
782 |
781 |
management_dates.return_value = {'foo': 'bar'}
|
783 |
782 |
with mock_getdata(content, 'RefFamilleDui'):
|
784 |
783 |
resp = app.get('/toulouse-axel/test/family_info?NameID=yyy')
|
785 |
784 |
assert resp.json['err'] == 0
|
786 |
785 |
assert resp.json['data']['ENFANT'][0]['clae_cantine_current'] is True
|
787 |
|
assert resp.json['data']['ENFANT'][0]['clae_cantine_next'] is None
|
788 |
786 |
assert resp.json['data']['ENFANT'][1]['clae_cantine_current'] is None
|
789 |
|
assert resp.json['data']['ENFANT'][1]['clae_cantine_next'] is None
|
790 |
787 |
|
791 |
788 |
with mock.patch('passerelle.contrib.toulouse_axel.models.ToulouseAxel.are_children_registered') as registered:
|
792 |
|
registered.side_effect = [{}, {'4242': False, '3535': True}]
|
|
789 |
registered.return_value = {}
|
793 |
790 |
with mock.patch('passerelle.contrib.toulouse_axel.models.ToulouseAxel.get_management_dates') as management_dates:
|
794 |
791 |
management_dates.return_value = {'foo': 'bar'}
|
795 |
792 |
with mock_getdata(content, 'RefFamilleDui'):
|
796 |
793 |
resp = app.get('/toulouse-axel/test/family_info?NameID=yyy')
|
797 |
794 |
assert resp.json['err'] == 0
|
798 |
795 |
assert resp.json['data']['ENFANT'][0]['clae_cantine_current'] is None
|
799 |
|
assert resp.json['data']['ENFANT'][0]['clae_cantine_next'] is False
|
800 |
796 |
assert resp.json['data']['ENFANT'][1]['clae_cantine_current'] is None
|
801 |
|
assert resp.json['data']['ENFANT'][1]['clae_cantine_next'] is True
|
802 |
797 |
|
803 |
798 |
assert resp.json['data']['SITUATIONFAMILIALE'] == 'S'
|
804 |
799 |
assert resp.json['data']['SITUATIONFAMILIALE_label'] == 'Séparé (e)'
|
... | ... | |
899 |
894 |
'SANITAIRE',
|
900 |
895 |
'SEXE',
|
901 |
896 |
'clae_cantine_current',
|
902 |
|
'clae_cantine_next',
|
903 |
897 |
])
|
904 |
898 |
assert resp.json['data']['id'] == '4242'
|
905 |
899 |
assert resp.json['data']['text'] == 'foo foo'
|
... | ... | |
911 |
905 |
assert resp.json['data']['CONTACT'][2]['text'] == 'foo foo'
|
912 |
906 |
|
913 |
907 |
with mock.patch('passerelle.contrib.toulouse_axel.models.ToulouseAxel.are_children_registered') as registered:
|
914 |
|
registered.side_effect = [{'4242': True}, {}]
|
|
908 |
registered.return_value = {'4242': True}
|
915 |
909 |
with mock_getdata(content, 'RefFamilleDui'):
|
916 |
910 |
resp = app.get('/toulouse-axel/test/child_info?NameID=yyy&idpersonne=4242')
|
917 |
911 |
assert resp.json['err'] == 0
|
918 |
912 |
assert resp.json['data']['clae_cantine_current'] is True
|
919 |
|
assert resp.json['data']['clae_cantine_next'] is None
|
920 |
913 |
|
921 |
914 |
with mock.patch('passerelle.contrib.toulouse_axel.models.ToulouseAxel.are_children_registered') as registered:
|
922 |
|
registered.side_effect = [{}, {'4242': False}]
|
|
915 |
registered.return_value = {}
|
923 |
916 |
with mock_getdata(content, 'RefFamilleDui'):
|
924 |
917 |
resp = app.get('/toulouse-axel/test/child_info?NameID=yyy&idpersonne=4242')
|
925 |
918 |
assert resp.json['err'] == 0
|
926 |
919 |
assert resp.json['data']['clae_cantine_current'] is None
|
927 |
|
assert resp.json['data']['clae_cantine_next'] is False
|
928 |
920 |
|
929 |
921 |
assert resp.json['data']['CONTACT'][0]['LIENPARENTE'] == 'GRP1'
|
930 |
922 |
assert resp.json['data']['CONTACT'][0]['LIENPARENTE_label'] == 'Grands-parents paternels'
|
... | ... | |
2773 |
2765 |
def test_are_children_registered_axel_error(resource):
|
2774 |
2766 |
with mock.patch('passerelle.contrib.toulouse_axel.models.enfants_activites') as operation:
|
2775 |
2767 |
operation.side_effect = AxelError('FooBar')
|
2776 |
|
assert resource.are_children_registered(dui='XXX', reference_year=42) == {}
|
2777 |
|
|
2778 |
|
|
2779 |
|
@pytest.mark.parametrize('date_value, year, expected', [
|
2780 |
|
# neither current year nor next year
|
2781 |
|
('2020-01-01', 2018, {}),
|
2782 |
|
('2020-01-01', 2021, {}),
|
2783 |
|
# current year
|
2784 |
|
('2019-08-01', 2019, {'3535': True}),
|
2785 |
|
('2020-07-31', 2019, {'3535': True}),
|
2786 |
|
# too early for next_year
|
2787 |
|
('2019-08-01', 2020, {}),
|
2788 |
|
('2020-01-01', 2020, {}),
|
2789 |
|
('2020-05-31', 2020, {}),
|
2790 |
|
# good period for next year
|
2791 |
|
('2020-06-01', 2020, {'3535': True}),
|
2792 |
|
('2020-07-31', 2020, {'3535': True}),
|
|
2768 |
assert resource.are_children_registered(dui='XXX') == {}
|
|
2769 |
|
|
2770 |
|
|
2771 |
@pytest.mark.parametrize('date_value, expected', [
|
|
2772 |
('2019-08-01', {'3535': True}),
|
|
2773 |
('2020-07-31', {'3535': True}),
|
2793 |
2774 |
])
|
2794 |
|
def test_are_children_registered_reference_year(resource, date_value, year, expected):
|
|
2775 |
def test_are_children_registered_reference_year(resource, date_value, expected):
|
2795 |
2776 |
with mock.patch('passerelle.contrib.toulouse_axel.models.ToulouseAxel.get_children_activities') as get_children_activities:
|
2796 |
2777 |
get_children_activities.return_value = {'3535': {'ACTIVITE': [{}]}}
|
2797 |
2778 |
with freezegun.freeze_time(date_value):
|
2798 |
|
assert resource.are_children_registered(dui='XXX', reference_year=year) == expected
|
|
2779 |
assert resource.are_children_registered(dui='XXX') == expected
|
2799 |
2780 |
|
2800 |
2781 |
|
2801 |
2782 |
@pytest.mark.parametrize('activities, expected', [
|
... | ... | |
2805 |
2786 |
({'3535': {'ACTIVITE': [{}]}, '4242': {}}, {'3535': True, '4242': False}),
|
2806 |
2787 |
])
|
2807 |
2788 |
def test_are_children_registered(resource, activities, expected):
|
2808 |
|
today = datetime.date.today()
|
2809 |
2789 |
with mock.patch('passerelle.contrib.toulouse_axel.models.ToulouseAxel.get_children_activities') as get_children_activities:
|
2810 |
2790 |
get_children_activities.return_value = activities
|
2811 |
|
assert resource.are_children_registered(dui='XXX', reference_year=get_reference_year_from_date(today)) == expected
|
|
2791 |
assert resource.are_children_registered(dui='XXX') == expected
|
2812 |
2792 |
|
2813 |
2793 |
|
2814 |
2794 |
def test_clae_booking_endpoint_axel_error(app, resource, booking_params):
|
2815 |
|
-
|