3031 |
3031 |
Link.objects.create(resource=resource, name_id='yyy', dui='XXX', person_id='42')
|
3032 |
3032 |
with mock.patch('passerelle.contrib.toulouse_axel.schemas.enfants_activites') as operation:
|
3033 |
3033 |
operation.side_effect = AxelError('FooBar')
|
3034 |
|
resp = app.get('/toulouse-axel/test/clae_booking_activity_annual_possible_days?NameID=yyy&idpersonne=3535&activity_type=MAT')
|
|
3034 |
resp = app.get(
|
|
3035 |
'/toulouse-axel/test/clae_booking_activity_annual_possible_days?NameID=yyy&idpersonne=3535'
|
|
3036 |
'&activity_type=MAT&booking_date=2019-09-01')
|
3035 |
3037 |
assert resp.json['err_desc'] == "Axel error: FooBar"
|
3036 |
3038 |
assert resp.json['err'] == 'error'
|
3037 |
3039 |
|
3038 |
3040 |
|
|
3041 |
@freezegun.freeze_time('2019-09-01')
|
|
3042 |
@pytest.mark.parametrize('value', ['foo', '20/01/2020', '2020'])
|
|
3043 |
def test_clae_booking_activity_annual_possible_days_endpoint_bad_date_format(app, resource, value):
|
|
3044 |
Link.objects.create(resource=resource, name_id='yyy', dui='XXX', person_id='42')
|
|
3045 |
resp = app.get(
|
|
3046 |
'/toulouse-axel/test/clae_booking_activity_annual_possible_days?NameID=yyy&idpersonne=3535'
|
|
3047 |
'&activity_type=MAT&booking_date=%s' % value, status=400)
|
|
3048 |
assert resp.json['err_desc'] == "bad date format, should be YYYY-MM-DD"
|
|
3049 |
assert resp.json['err'] == 'bad-request'
|
|
3050 |
|
|
3051 |
|
3039 |
3052 |
@freezegun.freeze_time('2019-09-01')
|
3040 |
3053 |
def test_clae_booking_activity_annual_possible_days_endpoint_activity_type(app, resource):
|
3041 |
3054 |
Link.objects.create(resource=resource, name_id='yyy', dui='XXX', person_id='42')
|
3042 |
|
resp = app.get('/toulouse-axel/test/clae_booking_activity_annual_possible_days?NameID=yyy&idpersonne=3535&activity_type=FOO', status=400)
|
|
3055 |
resp = app.get(
|
|
3056 |
'/toulouse-axel/test/clae_booking_activity_annual_possible_days?NameID=yyy&idpersonne=3535'
|
|
3057 |
'&activity_type=FOO&booking_date=2019-09-01', status=400)
|
3043 |
3058 |
assert resp.json['err_desc'] == "bad activity_type, should be MAT, MIDI, SOIR or GARD"
|
3044 |
3059 |
assert resp.json['err'] == 'bad-request'
|
3045 |
3060 |
|
3046 |
3061 |
|
3047 |
3062 |
@freezegun.freeze_time('2019-09-01')
|
3048 |
3063 |
def test_clae_booking_activity_annual_possible_days_endpoint_no_result(app, resource):
|
3049 |
|
resp = app.get('/toulouse-axel/test/clae_booking_activity_annual_possible_days?NameID=yyy&idpersonne=3535&activity_type=MAT')
|
|
3064 |
resp = app.get(
|
|
3065 |
'/toulouse-axel/test/clae_booking_activity_annual_possible_days?NameID=yyy&idpersonne=3535'
|
|
3066 |
'&activity_type=MAT&booking_date=2019-09-01')
|
3050 |
3067 |
assert resp.json['err_desc'] == "Person not found"
|
3051 |
3068 |
assert resp.json['err'] == 'not-found'
|
3052 |
3069 |
|
... | ... | |
3055 |
3072 |
with open(filepath) as xml:
|
3056 |
3073 |
content = xml.read()
|
3057 |
3074 |
with mock_getdata(content, 'EnfantsActivites'):
|
3058 |
|
resp = app.get('/toulouse-axel/test/clae_booking_activity_annual_possible_days?NameID=yyy&idpersonne=4242&activity_type=MAT')
|
|
3075 |
resp = app.get(
|
|
3076 |
'/toulouse-axel/test/clae_booking_activity_annual_possible_days?NameID=yyy&idpersonne=4242'
|
|
3077 |
'&activity_type=MAT&booking_date=2019-09-01')
|
3059 |
3078 |
assert resp.json['err_desc'] == "Child not found"
|
3060 |
3079 |
assert resp.json['err'] == 'not-found'
|
3061 |
3080 |
|
3062 |
3081 |
with mock.patch('passerelle.contrib.toulouse_axel.models.ToulouseAxel.get_child_activities', return_value={'ACTIVITE': []}):
|
3063 |
|
resp = app.get('/toulouse-axel/test/clae_booking_activity_annual_possible_days?NameID=yyy&idpersonne=3535&activity_type=MAT')
|
|
3082 |
resp = app.get(
|
|
3083 |
'/toulouse-axel/test/clae_booking_activity_annual_possible_days?NameID=yyy&idpersonne=3535'
|
|
3084 |
'&activity_type=MAT&booking_date=2019-09-01')
|
3064 |
3085 |
assert resp.json['err'] == 0
|
3065 |
3086 |
assert resp.json['data'] == []
|
3066 |
3087 |
|
... | ... | |
3070 |
3091 |
Link.objects.create(resource=resource, name_id='yyy', dui='XXX', person_id='42')
|
3071 |
3092 |
activities = child_activities_data['ENFANT'][0]
|
3072 |
3093 |
with mock.patch('passerelle.contrib.toulouse_axel.models.ToulouseAxel.get_child_activities', return_value=activities):
|
3073 |
|
resp = app.get('/toulouse-axel/test/clae_booking_activity_annual_possible_days?NameID=yyy&idpersonne=3535&activity_type=MAT')
|
|
3094 |
resp = app.get(
|
|
3095 |
'/toulouse-axel/test/clae_booking_activity_annual_possible_days?NameID=yyy&idpersonne=3535'
|
|
3096 |
'&activity_type=MAT&booking_date=2019-09-01')
|
3074 |
3097 |
assert resp.json['err'] == 0
|
3075 |
3098 |
assert resp.json['data'] == [
|
3076 |
3099 |
{
|
... | ... | |
3100 |
3123 |
},
|
3101 |
3124 |
]
|
3102 |
3125 |
with mock.patch('passerelle.contrib.toulouse_axel.models.ToulouseAxel.get_child_activities', return_value=activities):
|
3103 |
|
resp = app.get('/toulouse-axel/test/clae_booking_activity_annual_possible_days?NameID=yyy&idpersonne=3535&activity_type=MIDI')
|
|
3126 |
resp = app.get(
|
|
3127 |
'/toulouse-axel/test/clae_booking_activity_annual_possible_days?NameID=yyy&idpersonne=3535'
|
|
3128 |
'&activity_type=MIDI&booking_date=2019-09-01')
|
3104 |
3129 |
assert resp.json['err'] == 0
|
3105 |
3130 |
assert resp.json['data'] == [
|
3106 |
3131 |
{
|
... | ... | |
3130 |
3155 |
},
|
3131 |
3156 |
]
|
3132 |
3157 |
with mock.patch('passerelle.contrib.toulouse_axel.models.ToulouseAxel.get_child_activities', return_value=activities):
|
3133 |
|
resp = app.get('/toulouse-axel/test/clae_booking_activity_annual_possible_days?NameID=yyy&idpersonne=3535&activity_type=SOIR')
|
|
3158 |
resp = app.get(
|
|
3159 |
'/toulouse-axel/test/clae_booking_activity_annual_possible_days?NameID=yyy&idpersonne=3535'
|
|
3160 |
'&activity_type=SOIR&booking_date=2019-09-01')
|
3134 |
3161 |
assert resp.json['err'] == 0
|
3135 |
3162 |
assert resp.json['data'] == [
|
3136 |
3163 |
{
|
... | ... | |
3160 |
3187 |
},
|
3161 |
3188 |
]
|
3162 |
3189 |
with mock.patch('passerelle.contrib.toulouse_axel.models.ToulouseAxel.get_child_activities', return_value=activities):
|
3163 |
|
resp = app.get('/toulouse-axel/test/clae_booking_activity_annual_possible_days?NameID=yyy&idpersonne=3535&activity_type=GARD')
|
|
3190 |
resp = app.get(
|
|
3191 |
'/toulouse-axel/test/clae_booking_activity_annual_possible_days?NameID=yyy&idpersonne=3535'
|
|
3192 |
'&activity_type=GARD&booking_date=2019-09-01')
|
3164 |
3193 |
assert resp.json['err'] == 0
|
3165 |
3194 |
assert resp.json['data'] == [
|
3166 |
3195 |
{
|
... | ... | |
3191 |
3220 |
]
|
3192 |
3221 |
|
3193 |
3222 |
|
|
3223 |
def test_clae_booking_activity_annual_possible_days_next_year(app, resource):
|
|
3224 |
Link.objects.create(resource=resource, name_id='yyy', dui='XXX', person_id='42')
|
|
3225 |
with freezegun.freeze_time('2020-07-01'):
|
|
3226 |
with mock.patch('passerelle.contrib.toulouse_axel.models.ToulouseAxel.get_child_activities') as mock_activities:
|
|
3227 |
mock_activities.return_value = {}
|
|
3228 |
app.get(
|
|
3229 |
'/toulouse-axel/test/clae_booking_activity_annual_possible_days?NameID=yyy&idpersonne=3535'
|
|
3230 |
'&activity_type=GARD&booking_date=2020-09-01')
|
|
3231 |
assert mock_activities.call_args_list == [
|
|
3232 |
mock.call(child_id='3535', dui='XXX', reference_year=2020),
|
|
3233 |
]
|
|
3234 |
|
|
3235 |
|
3194 |
3236 |
@freezegun.freeze_time('2019-09-01')
|
3195 |
3237 |
def test_clae_booking_activity_prefill_endpoint_axel_error(app, resource):
|
3196 |
3238 |
Link.objects.create(resource=resource, name_id='yyy', dui='XXX', person_id='42')
|
3197 |
|
-
|