vbv/server/vbv_lernwelt/dashboard/tests/utils.py

43 lines
1.1 KiB
Python

from django.contrib.auth.hashers import make_password
from django.utils import timezone
from django.utils.text import slugify
from vbv_lernwelt.core.models import User
from vbv_lernwelt.course.models import Course, CourseSession, CourseSessionUser
def create_course(title: str) -> Course:
return Course.objects.create(
title=title, slug=slugify(title), category_name="Handlungsfeld"
)
def create_user(username: str) -> User:
user = User.objects.create_user(
username="username",
password=make_password("test"),
email=f"{username}@example.com",
language="de",
)
return user
def create_course_session(course: Course, title: str) -> CourseSession:
return CourseSession.objects.create(
course=course,
title=title,
import_id=title,
start_date=timezone.now(),
)
def add_course_session_user(
course_session: CourseSession, user: User, role: CourseSessionUser.Role
) -> CourseSessionUser:
return CourseSessionUser.objects.create(
course_session=course_session,
user=user,
role=role,
)