from core.factories import UserFactory from users.factories import SchoolClassFactory from users.models import Role, UserRole, DEFAULT_SCHOOL_ID def create_users(data=None): Role.objects.create_default_roles() teacher_role = Role.objects.get_default_teacher_role() student_role = Role.objects.get_default_student_role() if data is None: teacher = UserFactory(username='teacher') UserRole.objects.create(user=teacher, role=teacher_role) students = [] for i in range(1, 7): student = UserFactory(username='student{}'.format(i)) UserRole.objects.create(user=student, role=student_role) students.append(student) SchoolClassFactory( users=[teacher] + students, name='skillbox' ) teacher2 = UserFactory(username='teacher2') UserRole.objects.create(user=teacher2, role=teacher_role) student_second_class = UserFactory(username='student_second_class') UserRole.objects.create(user=student_second_class, role=student_role) SchoolClassFactory( users=[teacher2, student_second_class], name='second_class' ) else: for school_class in data: first, last = school_class.get('teacher') teacher = UserFactory( username='{}.{}'.format(first, last).lower(), first_name=first, last_name=last, email='{}.{}@skillbox.example'.format(first, last).lower() ) UserRole.objects.create(user=teacher, role=teacher_role) students = [] for first, last in school_class.get('students'): student = UserFactory( username='{}.{}'.format(first, last).lower(), first_name=first, last_name=last, email='{}.{}@skillbox.example'.format(first, last).lower() ) UserRole.objects.create(user=student, role=student_role) students.append(student) SchoolClassFactory( users=students + [teacher], name=school_class.get('class'), )