def test_register_with_exists_username(self): self.school = UserInfoSchool.objects.create(school_id=1, school_name="CMU", total_students=0) self.class1 = UserInfoClass.objects.create(class_id=1, class_name="class1", parent=self.school, total_students=0) self.class2 = UserInfoClass.objects.create(class_id=2, class_name="class2", parent=self.school, total_students=0) request = self.factory.post('register', { 'username': '******', 'password': '******', 'firstName': 'Larry', 'lastName': 'Lee', 'email': '*****@*****.**', 'role': 1 }, format='json') response = views.register_view(request) self.assertEqual( response, { 'code': 1005, 'info': { 'title': 'The username already exists', 'message': 'The username already exists' }, 'data': { 'autoComplete': { 'username': '******', 'firstName': 'Larry', 'lastName': 'Lee', 'email': '*****@*****.**', 'role': 1, 'instituteId': '', 'classes': [] }, 'institutes': [{ 'name': 'CMU', 'id': 1, 'classes': [{ 'name': 'class1', 'id': 1 }, { 'name': 'class2', 'id': 2 }] }] } })
def test_board_member_register_successfully(self): request = self.factory.post('register', { 'username': '******', 'password': '******', 'firstName': 'Vivek', 'lastName': 'Lee', 'email': '*****@*****.**', 'role': 1 }, format='json') response = views.register_view(request) self.assertEqual(response, { 'code': 0, 'info': { 'title': '', 'message': '' }, 'data': {} })
def test_school_leader_register_successfully(self): request = self.factory.post('register', { 'username': '******', 'password': '******', 'firstName': 'Peter', 'lastName': 'Lee', 'email': '*****@*****.**', 'role': 2, 'instituteId': 1 }, format='json') response = views.register_view(request) self.assertEqual(response, { 'code': 0, 'info': { 'title': '', 'message': '' }, 'data': {} })
def test_teacher_register_successfully(self): request = self.factory.post('register', { 'username': '******', 'password': '******', 'firstName': 'Larry', 'lastName': 'Lee', 'email': '*****@*****.**', 'role': 3, 'instituteId': 1, 'classes': [1, 2] }, format='json') response = views.register_view(request) self.assertEqual(response, { 'code': 0, 'info': { 'title': '', 'message': '' }, 'data': {} })
def test_register_with_incomplete_info(self): request = self.factory.post('regist', { 'username': '******', 'password': '******', 'firstName': 'Larry', 'lastName': 'Lee', 'email': '*****@*****.**', 'role': 3, 'instituteId': 1 }, format='json') response = views.register_view(request) self.assertEqual( response, { 'code': 1004, 'info': { 'title': 'The registration info provided is not complete', 'message': 'The registration info provided is not complete' }, 'data': { 'autoComplete': { 'username': '******', 'firstName': 'Larry', 'lastName': 'Lee', 'email': '*****@*****.**', 'role': 3, 'instituteId': 1, 'classes': [] }, 'institutes': [{ 'name': 'CMU', 'id': 1, 'classes': [{ 'name': 'class1', 'id': 1 }, { 'name': 'class2', 'id': 2 }] }] } }) request = self.factory.post('register', { 'username': '******', 'password': '******', 'lastName': 'Lee', 'email': '*****@*****.**', 'role': 3, 'instituteId': 1 }, format='json') response = views.register_view(request) self.assertEqual( response, { 'code': 1004, 'info': { 'title': 'The registration info provided is not complete', 'message': 'The registration info provided is not complete' }, 'data': { 'autoComplete': { 'username': '******', 'firstName': '', 'lastName': 'Lee', 'email': '*****@*****.**', 'role': 3, 'instituteId': 1, 'classes': [] }, 'institutes': [{ 'name': 'CMU', 'id': 1, 'classes': [{ 'name': 'class1', 'id': 1 }, { 'name': 'class2', 'id': 2 }] }] } }) request = self.factory.post('register', { 'username': '******', 'password': '******', 'firstName': 'Larry', 'lastName': 'Lee', 'email': '*****@*****.**', 'role': 3, 'instituteId': 1 }, format='json') response = views.register_view(request) self.assertEqual( response, { 'code': 1004, 'info': { 'title': 'The registration info provided is not complete', 'message': 'The registration info provided is not complete' }, 'data': { 'autoComplete': { 'username': '******', 'firstName': 'Larry', 'lastName': 'Lee', 'email': '*****@*****.**', 'role': 3, 'instituteId': 1, 'classes': [] }, 'institutes': [{ 'name': 'CMU', 'id': 1, 'classes': [{ 'name': 'class1', 'id': 1 }, { 'name': 'class2', 'id': 2 }] }] } })