Beispiel #1
0
def test_user_can_degrestration_prior_to_deregister_timeframe():
    se = SeminarEvent(name='test',
                      description='test',
                      start_time=datetime.now(),
                      end_time=datetime.now(),
                      convenor=u)
    s1 = Session(name='s1 test',
                 start_time=datetime.now(),
                 end_time=datetime.now() + timedelta(days=1),
                 deregister_timeframe=datetime.now() + timedelta(days=1),
                 early_bird=Session.calculate_date(datetime.now(), 1),
                 speaker=g1,
                 event=se,
                 capacity=10,
                 venue=venue)
    s1.add_attendee(g1)
    s1.remove_attendee(g1)

    # user is able to deregister
    s1.deregister_timeframe = datetime.now() - timedelta(days=1)
    db.session.commit()

    # did not attend
    with pytest.raises(attendanceError) as err:
        s1.remove_attendee(g1)
    assert 'user did not attend this session' in str(err.value)

    # deregister within deregister timeframe
    s1.add_attendee(g1)
    with pytest.raises(attendanceError) as err:
        s1.remove_attendee(g1)
    assert 'user cannot deregist within deregister timeframe' in str(err.value)
Beispiel #2
0
def test_legal_register_staff():
    se = SeminarEvent(name='test',
                      description='test',
                      start_time=datetime.now(),
                      end_time=datetime.now(),
                      convenor=u)
    s1 = Session(name='s1 test',
                 start_time=datetime.now(),
                 end_time=datetime.now() + timedelta(days=1),
                 deregister_timeframe=Session.calculate_date(
                     datetime.now(), 1),
                 early_bird=Session.calculate_date(datetime.now(), 1),
                 speaker=u,
                 event=se,
                 capacity=10,
                 venue=venue)
    s2 = Session(name='s2 test',
                 start_time=datetime.now(),
                 end_time=datetime.now() + timedelta(days=1),
                 deregister_timeframe=Session.calculate_date(
                     datetime.now(), 1),
                 early_bird=Session.calculate_date(datetime.now(), 1),
                 speaker=u,
                 event=se,
                 capacity=10,
                 venue=venue)
    s1.add_attendee(u1)
    s2.add_attendee(u1)
    assert len(s1.users_attendance) == 1
    assert len(s2.users_attendance) == 1
Beispiel #3
0
def test_user_can_only_attend_open_event():
    se = SeminarEvent(name='test',
                      description='test',
                      start_time=datetime.now(),
                      end_time=datetime.now(),
                      convenor=u)
    s1 = Session(name='s1 test',
                 start_time=datetime.now(),
                 end_time=datetime.now() + timedelta(days=1),
                 deregister_timeframe=Session.calculate_date(
                     datetime.now(), 1),
                 early_bird=Session.calculate_date(datetime.now(), 1),
                 speaker=g1,
                 event=se,
                 capacity=10,
                 venue=venue)
    # closed event
    se.status = 1
    with pytest.raises(attendanceError) as err:
        s1.add_attendee(g1)
    assert 'status of the event is closed' in str(err.value)

    # cancelled event
    se.status = 2
    with pytest.raises(attendanceError) as err:
        s1.add_attendee(g1)
    assert 'status of the event is cancelled' in str(err.value)

    # open event
    se.status = 0
    s1.add_attendee(g1)