def test_create_class_room_wrong_param_value(self, request_factory, authorized_user): request = request_factory.post( f'/classroom/', {'course_id': 10000}, HTTP_AUTHORIZATION='Token {}'.format( Token.objects.create(user=authorized_user))) view = CreateClassRoom.as_view() response = view(request) assert response.status_code == status.HTTP_404_NOT_FOUND
def test_change_phase_wrong_param_value(self, request_factory, authorized_user, class_room): request = request_factory.post( f'/classroom/{class_room.id}/', {'to_phase_id': 1000}, HTTP_AUTHORIZATION='Token {}'.format( Token.objects.create(user=authorized_user))) view = ChangePhase.as_view() response = view(request, class_room_id=1000) assert response.status_code == status.HTTP_404_NOT_FOUND
def test_change_phase_wrong_phase(self, request_factory, authorized_user, class_room, phase): request = request_factory.post( f'/classroom/{class_room.id}/', {'to_phase_id': phase.id}, HTTP_AUTHORIZATION='Token {}'.format( Token.objects.create(user=authorized_user))) view = ChangePhase.as_view() response = view(request, class_room_id=class_room.id) assert response.status_code == status.HTTP_400_BAD_REQUEST
def test_create_class_room_wrong_param_key(self, request_factory, authorized_user, course): request = request_factory.post( f'/classroom/', {'wrong_key': course.id}, HTTP_AUTHORIZATION='Token {}'.format( Token.objects.create(user=authorized_user))) view = CreateClassRoom.as_view() response = view(request) assert response.status_code == status.HTTP_400_BAD_REQUEST
def test_change_phase_success(self, request_factory, authorized_user, class_room): to_phase = class_room.course.phases.first() request = request_factory.post( f'/classroom/{class_room.id}/', {'to_phase_id': to_phase.id}, HTTP_AUTHORIZATION='Token {}'.format( Token.objects.create(user=authorized_user))) view = ChangePhase.as_view() response = view(request, class_room_id=class_room.id) assert response.status_code == status.HTTP_200_OK assert len(response.data['events']) == 1 assert response.data['events'][0]['to_phase']['id'] == to_phase.id assert response.data['events'][0]['user']['id'] == authorized_user.id
def test_join_class_room_success(self, request_factory, authorized_user, class_room): request = request_factory.post( f'/classroom/{class_room.id}/', HTTP_AUTHORIZATION='Token {}'.format( Token.objects.create(user=authorized_user))) view = JoinClassRoom.as_view() response = view(request, class_room_id=class_room.id) assert response.status_code == status.HTTP_200_OK assert response.data['id'] assert len(response.data['events']) == 1 assert response.data['events'][0]['action'] == EVENT_ACTION_JOIN assert response.data['events'][0]['user']['id'] == authorized_user.id assert len(response.data['attending']) == 1 assert response.data['attending'][0]['id'] == authorized_user.id
def test_create_class_room_success(self, request_factory, authorized_user, course): request = request_factory.post( f'/classroom/', {'course_id': course.id}, HTTP_AUTHORIZATION='Token {}'.format( Token.objects.create(user=authorized_user))) view = CreateClassRoom.as_view() response = view(request) assert response.status_code == status.HTTP_200_OK assert response.data['id'] assert len(response.data['events']) == 2 assert response.data['events'][0][ 'action'] == EVENT_ACTION_CHANGE_PHASE assert response.data['events'][0]['user']['id'] == authorized_user.id assert response.data['events'][0]['to_phase'][ 'id'] == course.default_phase.id assert response.data['events'][1]['action'] == EVENT_ACTION_JOIN assert response.data['events'][1]['user']['id'] == authorized_user.id assert response.data['events'][1]['to_phase'] == None assert len(response.data['attending']) == 1 assert response.data['attending'][0]['id'] == authorized_user.id
def test_create_class_room_no_user(self, request_factory): request = request_factory.post(f'/classroom/') view = CreateClassRoom.as_view() response = view(request) assert response.status_code == status.HTTP_401_UNAUTHORIZED
def test_change_phase_no_user(self, request_factory, class_room): request = request_factory.post(f'/classroom/{class_room.id}/') view = ChangePhase.as_view() response = view(request, class_room_id=class_room.id) assert response.status_code == status.HTTP_401_UNAUTHORIZED
def test_leave_class_room_no_user(self, request_factory, class_room): request = request_factory.post(f'/classroom/{class_room.id}/') view = LeaveClassRoom.as_view() response = view(request, class_room_id=class_room.id) assert response.status_code == status.HTTP_401_UNAUTHORIZED