def test_not_logged_in(event, bot): """ Test when the user is not logged in. """ admin, event_id = event log_out(bot.username) invite_user(admin.username, bot.username, event_id) expect_error(leave_event, AuthError, bot.username, event_id)
def event_member(): """ Return a new event's ID, its admin, as well as a member. """ admin = create_bot() member = create_bot() event_id = create_event(admin.username, "ABC", [member.username]) invite_user(admin.username, member.username, event_id) return admin, member, event_id
def test_success_leave(event, bot): """ Test a successful event leave. """ admin, event_id = event invite_user(admin.username, bot.username, event_id) leave_event(bot.username, event_id) # Check that the user successfully left assert bot.username not in data.events[event_id].member_usernames
def test_success_remove(event, bot): """ Test a successful removal of an event member. """ admin, event_id = event invite_user(admin.username, bot.username, event_id) remove_user(admin.username, bot.username, event_id) members = data.events[event_id].member_usernames assert bot.username not in members
def test_invite_repeat(event, bot): """ Test that inviting users that are already members has no effect. """ admin, event_id = event invite_user(admin.username, bot.username, event_id) orig_members = data.events[event_id].member_usernames invite_user(admin.username, bot.username, event_id) new_members = data.events[event_id].member_usernames assert orig_members == new_members
def test_success_invite(event, bot): """ Test a successful event invitation. """ admin, event_id = event invite_user(admin.username, bot.username, event_id) # Check if the event data was updated members = data.events[event_id].member_usernames assert admin.username in members and bot.username in members # Check that the admin is unchanged assert admin.username == data.events[event_id].admin_username
def test_success_edit_member(event, bot): """ Test a successful edit by a non-admin. """ admin, event_id = event invite_user(admin.username, bot.username, event_id) edit(bot.username, event_id, True, MON, time(13), time(14, 30)) # Check that the schedule updated for every week schedule = data.events[event_id].availabilities[bot.username] creation_day = data.events[event_id].create_time.weekday() offset = (MON - creation_day + 7) % 7 start = 13 * 2 end = 14 * 2 + 1 for d in range(MAX_DAYS): for t in range(INTERVALS): if (d - offset) % 7 == 0 and start <= t < end: assert schedule.times[d][t] else: assert not schedule.times[d][t]