toulouse_axel: don't jump to closest friday (#43802)
This commit is contained in:
parent
3c402c72ab
commit
964ec74abc
|
@ -943,9 +943,6 @@ class ToulouseAxel(BaseResource):
|
|||
except ValueError:
|
||||
raise APIError('bad date format, should be YYYY-MM-DD', err_code='bad-request', http_status=400)
|
||||
|
||||
# if end_date is not a friday: jump to next or previous friday
|
||||
end_date = utils.get_closest_friday(end_date)
|
||||
|
||||
today = datetime.date.today()
|
||||
in_8_days = today + datetime.timedelta(days=8)
|
||||
|
||||
|
@ -980,8 +977,10 @@ class ToulouseAxel(BaseResource):
|
|||
# cross all weeks until end date
|
||||
while week_end_date <= end_date:
|
||||
result += [a for a in get_activities_for_week(max(start_date, week_start_date), week_end_date)]
|
||||
if week_end_date == end_date:
|
||||
break
|
||||
week_start_date = week_start_date + datetime.timedelta(days=7)
|
||||
week_end_date = week_end_date + datetime.timedelta(days=7)
|
||||
week_end_date = min(week_end_date + datetime.timedelta(days=7), end_date)
|
||||
return {'data': result}
|
||||
|
||||
@endpoint(
|
||||
|
@ -1013,9 +1012,6 @@ class ToulouseAxel(BaseResource):
|
|||
if start_date.weekday() > 4:
|
||||
start_date = start_date + datetime.timedelta(days=7 - start_date.weekday())
|
||||
|
||||
# if end_date is not a friday: jump to next or previous friday
|
||||
end_date = utils.get_closest_friday(end_date)
|
||||
|
||||
def get_activity_days_for_week(week_start_date, week_end_date):
|
||||
# ask Axel for the booking of a week (starts may be a monday, ends a friday)
|
||||
activities = self.get_booking_data(
|
||||
|
@ -1042,8 +1038,10 @@ class ToulouseAxel(BaseResource):
|
|||
# cross all weeks until end date
|
||||
while week_end_date <= end_date:
|
||||
activity_days += [d for d in get_activity_days_for_week(max(start_date, week_start_date), week_end_date)]
|
||||
if week_end_date == end_date:
|
||||
break
|
||||
week_start_date = week_start_date + datetime.timedelta(days=7)
|
||||
week_end_date = week_end_date + datetime.timedelta(days=7)
|
||||
week_end_date = min(week_end_date + datetime.timedelta(days=7), end_date)
|
||||
|
||||
return {'data': activity_days}
|
||||
|
||||
|
|
|
@ -222,16 +222,6 @@ def get_week_dates_from_date(booking_date):
|
|||
)
|
||||
|
||||
|
||||
def get_closest_friday(some_date):
|
||||
if some_date.weekday() < 4:
|
||||
# next friday
|
||||
return some_date + datetime.timedelta(4 - some_date.weekday())
|
||||
if some_date.weekday() > 4:
|
||||
# previous friday
|
||||
return some_date - datetime.timedelta(some_date.weekday() - 4)
|
||||
return some_date
|
||||
|
||||
|
||||
def get_booking(value):
|
||||
# 0: no registration
|
||||
# 1: registration
|
||||
|
|
|
@ -2553,16 +2553,13 @@ def test_clae_booking_activities_info_endpoint(app, resource, child_activities_d
|
|||
|
||||
@freezegun.freeze_time('2020-03-26')
|
||||
@pytest.mark.parametrize('start_date, end_date, last_date', [
|
||||
# end date is a not a friday => ends on friday
|
||||
('2020-04-07', '2020-04-13', '2020-04-17'),
|
||||
('2020-04-07', '2020-04-14', '2020-04-17'),
|
||||
('2020-04-07', '2020-04-15', '2020-04-17'),
|
||||
('2020-04-07', '2020-04-16', '2020-04-17'),
|
||||
# end date is a not a friday
|
||||
('2020-04-07', '2020-04-13', '2020-04-13'),
|
||||
# except if end date is saturday or sunday => ends on previous friday
|
||||
('2020-04-07', '2020-04-18', '2020-04-17'),
|
||||
('2020-04-07', '2020-04-19', '2020-04-17'),
|
||||
# start date is after end date, same week
|
||||
('2020-04-16', '2020-04-15', '2020-04-17'),
|
||||
# start date is after end date, same week => result is empty
|
||||
('2020-04-16', '2020-04-15', None),
|
||||
# start date is after end date, not the same week => result is empty
|
||||
('2020-04-16', '2020-04-12', None),
|
||||
])
|
||||
|
@ -2795,16 +2792,13 @@ def test_clae_booking_activity_possible_days_endpoint(app, resource, child_activ
|
|||
('2020-03-26', '2020-04-06', '2020-04-06', '2020-04-17', '2020-04-17'),
|
||||
# start date is a tuesday => starts on tuesday
|
||||
('2020-03-26', '2020-04-07', '2020-04-07', '2020-04-17', '2020-04-17'),
|
||||
# end date is a not a friday => ends on friday
|
||||
('2020-03-26', '2020-04-07', '2020-04-07', '2020-04-13', '2020-04-17'),
|
||||
('2020-03-26', '2020-04-07', '2020-04-07', '2020-04-14', '2020-04-17'),
|
||||
('2020-03-26', '2020-04-07', '2020-04-07', '2020-04-15', '2020-04-17'),
|
||||
('2020-03-26', '2020-04-07', '2020-04-07', '2020-04-16', '2020-04-17'),
|
||||
# end date is a not a friday
|
||||
('2020-03-26', '2020-04-07', '2020-04-07', '2020-04-13', '2020-04-13'),
|
||||
# except if end date is saturday or sunday => ends on previous friday
|
||||
('2020-03-26', '2020-04-07', '2020-04-07', '2020-04-18', '2020-04-17'),
|
||||
('2020-03-26', '2020-04-07', '2020-04-07', '2020-04-19', '2020-04-17'),
|
||||
# start date is after end date, same week
|
||||
('2020-03-26', '2020-04-16', '2020-04-16', '2020-04-15', '2020-04-17'),
|
||||
# start date is after end date, same week => result is empty
|
||||
('2020-03-26', '2020-04-16', None, '2020-04-15', None),
|
||||
# start date is after end date, not the same week => result is empty
|
||||
('2020-03-26', '2020-04-16', None, '2020-04-12', None),
|
||||
])
|
||||
|
|
Loading…
Reference in New Issue