def test_db_cleanup(google_events_mock, user, session): for event in google_events_mock: location = None title = event['summary'] # support for all day events if 'dateTime' in event['start'].keys(): # part time event start = datetime.fromisoformat(event['start']['dateTime']) end = datetime.fromisoformat(event['end']['dateTime']) else: # all day event start = event['start']['date'].split('-') start = datetime(year=int(start[0]), month=int(start[1]), day=int(start[2])) end = event['end']['date'].split('-') end = datetime(year=int(end[0]), month=int(end[1]), day=int(end[2])) if 'location' in event.keys(): location = event['location'] create_event(db=session, title=title, start=start, end=end, owner_id=user.id, location=location, is_google_event=True) assert google_connect.cleanup_user_google_calendar_events( user, session)
def _save_events_to_database( events: List[Dict[str, Any]], user_id: int, session: Session ) -> None: """Inserts the events into the Event table. Args: events: A list of events. user_id: The user's ID. session: The database connection. """ for event in events: title = event["Head"] content = event["Content"] start = event["S_Date"] end = event["E_Date"] location = event["Location"] owner_id = user_id create_event(db=session, title=title, content=content, start=start, end=end, location=location, owner_id=owner_id, )
def fake_user_events(session): Base.metadata.create_all(bind=test_engine) user = get_test_placeholder_user() session.add(user) session.commit() create_event( db=session, title='Cool today event', start=today_date, end=today_date + timedelta(days=2), content='test event', owner_id=user.id, location="Here", ) create_event( db=session, title='Cool (somewhen in two days) event', start=today_date + timedelta(days=1), end=today_date + timedelta(days=3), content='this week test event', owner_id=user.id, location="Here", ) yield user Base.metadata.drop_all(bind=test_engine)
def create_weekview_event(events, session, user): for event in events: create_event( db=session, title='test', start=event.start, end=event.end, owner_id=user.id, color=event.color )
async def _submit_new_event(self, memo_dict): answer = 'New event was successfully created 🎉' await telegram_bot.send_message(chat_id=self.chat.user_id, text=answer) # Save to database create_event( db=next(get_db()), title=memo_dict['title'], start=memo_dict['start'], end=memo_dict['end'], content=memo_dict['content'], owner_id=self.user.id, location=memo_dict['location'], ) # Delete current session del telegram_bot.MEMORY[self.chat.user_id] return answer
def create_events_and_user_events(session, start, end, owner, invitations): for _ in range(1, 3): event = create_event(db=session, title="title" + str(_), start=start, end=end, owner_id=owner, location="location" + str(_)) send_in_app_invitation(invitations, event, session)
def today_event_2(sender: User, session: Session) -> Event: return create_event( db=session, title='event 2', start=today_date + timedelta(hours=3), end=today_date + timedelta(days=2, hours=3), content='test event', owner_id=sender.id, )
def yesterday_event(sender: User, session: Session) -> Event: return create_event( db=session, title='event 3', start=today_date - timedelta(hours=8), end=today_date, content='test event', owner_id=sender.id, )
def old_event(sender: User, session: Session) -> Event: return create_event( db=session, title='event 6', start=today_date - timedelta(days=5), end=today_date, content='test event', owner_id=sender.id, )
def next_month_event(sender: User, session: Session) -> Event: return create_event( db=session, title='event 5', start=today_date + timedelta(days=20, hours=4), end=today_date + timedelta(days=20, hours=6), content='test event', owner_id=sender.id, )
def today_event(sender: User, session: Session) -> Event: return create_event( db=session, title='event 1', start=today_date + timedelta(hours=7), end=today_date + timedelta(hours=9), all_day=False, content='test event', owner_id=sender.id, )
def next_week_event(sender: User, session: Session) -> Event: return create_event( db=session, title='event 4', start=today_date + timedelta(days=7, hours=2), end=today_date + timedelta(days=7, hours=4), all_day=False, content='test event', owner_id=sender.id, )
def event(sender: User, category: Category, session: Session) -> Event: return create_event( db=session, title='event', start=today_date, end=today_date, content='test event', owner_id=sender.id, location="Some random location", category_id=category.id, )
def user2(session): # a user made for testing who already owns an event. user = create_user(session=session, username='******', password='******', email='*****@*****.**', language_id='english') data = { 'title': 'user2 event', 'start': datetime.strptime('2021-05-05 14:59', '%Y-%m-%d %H:%M'), 'end': datetime.strptime('2021-05-05 15:01', '%Y-%m-%d %H:%M'), 'location': 'https://us02web.zoom.us/j/875384596', 'content': 'content', 'owner_id': user.id, } create_event(session, **data) return user
def event1(session, user2): data = { 'title': 'test event title', 'start': datetime.strptime('2021-05-05 14:59', '%Y-%m-%d %H:%M'), 'end': datetime.strptime('2021-05-05 15:01', '%Y-%m-%d %H:%M'), 'location': 'https://us02web.zoom.us/j/87538459r6', 'content': 'content', 'owner_id': user2.id, } event = create_event(session, **data) return event
def test_create_event_with_default_availability(client, user, session): """ Test create event with default availability. (busy) """ data = { "title": "test title", "start": datetime.strptime("2021-01-01 15:59", "%Y-%m-%d %H:%M"), "end": datetime.strptime("2021-01-02 15:01", "%Y-%m-%d %H:%M"), "vc_link": "https://us02web.zoom.us/j/875384596", "content": "content", "owner_id": user.id, } event = evt.create_event(session, **data) assert event.availability is True
def create_google_event( title: str, start: datetime, end: datetime, user: User, location: str, session: SessionLocal = Depends(get_db)) -> Event: return create_event( # creating an event obj and pushing it into the db db=session, title=title, start=start, end=end, owner_id=user.id, location=location, is_google_event=True)
def test_create_event( title, start, end, all_day, owner_id, content, location, result, session, ): event = create_event( session, title, start, end, owner_id, all_day, content, location, ) assert event.emotion == result