def test_create(self): self.setup_course() user = User(name=self.studentA['name'], email=self.studentA['email']) db.session.add(user) db.session.commit() self.studentA['id'] = user.id Enrollment.create(self.course.id, [self.studentA]) self.enrollment_matches_info(user, self.studentA)
def enroll_students(canvas_course_id): logger = jobs.get_job_logger() row_format = '{email!s:<35} {name!s:<35} {sid!s:<11}' canvas_course = CanvasCourse.query.get(canvas_course_id) enrollment_info = [] logger.info(row_format.format(email='EMAIL', name='NAME', sid='SID')) for student in api.get_students(canvas_course): if not student.get("email"): logger.warn( "Student {} not enrolled, missing email address".format( student)) continue info = { 'email': student['email'], 'name': student['name'], 'sid': student['sis_user_id'], 'class_account': '', 'section': '', } logger.info(row_format.format(**info)) enrollment_info.append(info) created, updated = Enrollment.create(canvas_course.course_id, enrollment_info) message = 'Added {new}, updated {old} student enrollments'.format( new=created, old=updated) logger.info(message) return message
def test_unenroll(self): self.setup_course() user = User(name=self.studentA['name'], email=self.studentA['email']) db.session.add(user) db.session.commit() self.studentA['id'] = user.id Enrollment.create(self.course.id, [self.studentA]) enrollment = Enrollment.query.filter_by(course_id=self.course.id, user_id=user.id).one_or_none() assert enrollment is not None Enrollment.unenroll(enrollment) enrollment = Enrollment.query.filter_by(course_id=self.course.id, user_id=user.id).one_or_none() assert enrollment is None
def test_unenroll(self): self.setup_course() user = User(name=self.studentA['name'], email=self.studentA['email']) db.session.add(user) db.session.commit() self.studentA['id'] = user.id Enrollment.create(self.course.id, [self.studentA]) enrollment = Enrollment.query.filter_by( course_id=self.course.id, user_id=user.id).one_or_none() assert enrollment is not None Enrollment.unenroll(enrollment) enrollment = Enrollment.query.filter_by( course_id=self.course.id, user_id=user.id).one_or_none() assert enrollment is None
def enroll_students(canvas_course_id): logger = jobs.get_job_logger() row_format = '{email!s:<35} {name!s:<35} {sid!s:<11}' canvas_course = CanvasCourse.query.get(canvas_course_id) enrollment_info = [] logger.info(row_format.format(email='EMAIL', name='NAME', sid='SID')) for student in api.get_students(canvas_course): info = { 'email': student['email'], 'name': student['name'], 'sid': student['sis_user_id'], 'class_account': '', 'section': '', } logger.info(row_format.format(**info)) enrollment_info.append(info) created, updated = Enrollment.create(canvas_course.course_id, enrollment_info) message = 'Added {new}, updated {old} student enrollments'.format( new=created, old=updated) logger.info(message) return message