Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
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,
                     )
Ejemplo n.º 3
0
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)
Ejemplo n.º 4
0
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
        )
Ejemplo n.º 5
0
 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
Ejemplo n.º 6
0
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)
Ejemplo n.º 7
0
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,
    )
Ejemplo n.º 8
0
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,
    )
Ejemplo n.º 9
0
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,
    )
Ejemplo n.º 10
0
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,
    )
Ejemplo n.º 11
0
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,
    )
Ejemplo n.º 12
0
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,
    )
Ejemplo n.º 13
0
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,
    )
Ejemplo n.º 14
0
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
Ejemplo n.º 15
0
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
Ejemplo n.º 16
0
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
Ejemplo n.º 17
0
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)
Ejemplo n.º 18
0
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