def test__multiple_availabilities():
    """All availabilities are correctly identified."""
    event1 = Event(
        id=1,
        title='A',
        start_date='2019-01-01T12:00:00+00:00',
        end_date='2019-01-01T14:00:00+00:00',
    )
    event2 = Event(
        id=2,
        title='B',
        start_date='2019-01-01T15:00:00+00:00',
        end_date='2019-01-01T16:00:00+00:00',
    )
    event3 = Event(
        id=3,
        title='C',
        start_date='2019-01-01T17:00:00+00:00',
        end_date='2019-01-01T17:30:00+00:00',
    )

    result = get_user_availability(
        user_events=[event1, event2, event3],
        start_date=START_DATE,
        end_date=END_DATE,
    )

    assert result == [
        Availability(START_DATE, event1.start_date),
        Availability(event1.end_date, event2.start_date),
        Availability(event2.end_date, event3.start_date),
        Availability(event3.end_date, END_DATE),
    ]
def test__overlapping_events():
    """If events overlaps, their earliest start date and latest end date
    are used when computing availability.
    """
    event1 = Event(
        id=1,
        title='A',
        start_date='2019-01-01T12:00:00+00:00',
        end_date='2019-01-01T14:00:00+00:00',
    )
    event2 = Event(
        id=2,
        title='B',
        start_date='2019-01-01T13:00:00+00:00',
        end_date='2019-01-01T15:00:00+00:00',
    )

    result = get_user_availability(
        user_events=[event1, event2],
        start_date=START_DATE,
        end_date=END_DATE,
    )

    assert result == [
        Availability(START_DATE, event1.start_date),
        Availability(event2.end_date, END_DATE),
    ]
예제 #3
0
def save_emails():
    # get form data
    # print(request.form)
    event_id = request.form['event_id']
    email_subject = request.form['email_subject']
    email_body = request.form['email_body']
    send_date = datetime.strptime(request.form['timestamp'], "%Y-%m-%d %H:%M")

    # insert to database
    session = Session()
    event = Event(event_id=event_id,
                  email_subject=email_subject,
                  email_body=email_body,
                  send_date=send_date)
    try:
        print('saving event..')
        session.add(event)
        session.commit()
    except Exception as e:
        print('{} - {}'.format(type(e), str(e)))
        session.rollback()
    finally:
        session.close()

    return json.dumps({'message': 'event is saved', 'data': request.form})
def test__event_overlapping_with_end_date():
    """If event overlaps with start date, the last availability ends
    when that event starts.
    """
    event = Event(
        id=1,
        title='A',
        start_date='2019-01-01T12:00:00+00:00',
        end_date='2019-01-01T20:00:00+00:00',
    )

    result = get_user_availability(
        user_events=[event],
        start_date=START_DATE,
        end_date=END_DATE,
    )

    assert result == [
        Availability(START_DATE, event.start_date),
    ]
def test__event_overlapping_with_start_date():
    """If event overlaps with start date, the earliest availability starts
    after that event ends.
    """
    event = Event(
        id=1,
        title='A',
        start_date='2019-01-01T09:00:00+00:00',
        end_date='2019-01-01T12:00:00+00:00',
    )

    result = get_user_availability(
        user_events=[event],
        start_date=START_DATE,
        end_date=END_DATE,
    )

    assert result == [
        Availability(event.end_date, END_DATE),
    ]
예제 #6
0
def insertEventt():
    e = Event(name="konser", description="c*k hos")
    e.save()
예제 #7
0
def insertEvent(name, description):
    e = Event(name, description)
    e.save()