mirror of
https://github.com/lucaspalomodevelop/eventcally.git
synced 2026-03-13 00:07:22 +00:00
Planning external calendars #561
This commit is contained in:
parent
39131aded9
commit
347f5b75cc
@ -1,3 +1,4 @@
|
||||
import json
|
||||
from datetime import datetime
|
||||
|
||||
import icalendar
|
||||
@ -16,6 +17,7 @@ from project.api.custom_widget.schemas import CustomWidgetSchema
|
||||
from project.dateutils import form_input_to_date
|
||||
from project.maputils import find_gmaps_places, get_gmaps_place
|
||||
from project.models import AdminUnit, CustomWidget, EventOrganizer, EventPlace
|
||||
from project.services.admin import upsert_settings
|
||||
from project.services.place import get_event_places
|
||||
from project.services.user import find_user_by_email
|
||||
from project.utils import decode_response_content, get_place_str
|
||||
@ -200,7 +202,16 @@ def js_icalevents():
|
||||
start_date = form_input_to_date(date_from).date()
|
||||
end_date = form_input_to_date(date_to).date()
|
||||
|
||||
response = requests.get(url)
|
||||
settings = upsert_settings()
|
||||
planning_external_calendars_str = (
|
||||
settings.planning_external_calendars
|
||||
if settings.planning_external_calendars
|
||||
else "[]"
|
||||
)
|
||||
external_calendars = json.loads(planning_external_calendars_str)
|
||||
external_calendar = next((c for c in external_calendars if c["url"] == url))
|
||||
|
||||
response = requests.get(external_calendar["url"])
|
||||
ical_string = decode_response_content(response)
|
||||
calendar = icalendar.Calendar.from_ical(ical_string)
|
||||
events = recurring_ical_events.of(calendar).between(start_date, end_date)
|
||||
|
||||
@ -301,12 +301,27 @@ def test_js_widget_loader_custom_widget(client, seeder: Seeder, utils: UtilActio
|
||||
|
||||
|
||||
def test_js_icalevents(
|
||||
client, seeder: Seeder, utils: UtilActions, shared_datadir, requests_mock
|
||||
client, app, db, seeder: Seeder, utils: UtilActions, shared_datadir, requests_mock
|
||||
):
|
||||
user_id, admin_unit_id = seeder.setup_base()
|
||||
url = utils.get_url("planning")
|
||||
utils.get(url)
|
||||
|
||||
with app.app_context():
|
||||
import json
|
||||
|
||||
from project.services.admin import upsert_settings
|
||||
|
||||
settings = upsert_settings()
|
||||
settings.planning_external_calendars = json.dumps(
|
||||
[
|
||||
{
|
||||
"url": "http://test.de",
|
||||
}
|
||||
]
|
||||
)
|
||||
db.session.commit()
|
||||
|
||||
params = (client, utils, shared_datadir)
|
||||
_assert_icalevents(params, "feiertage-deutschland.ics")
|
||||
_assert_icalevents(params, "recurring-events-changed-duration.ics")
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user