chore: create test-supervisor1@example.com
and clean up the way users get created a bit
This commit is contained in:
parent
41b8e07693
commit
44cbf3c8f7
|
|
@ -18,6 +18,7 @@ DEFAULT_RICH_TEXT_FEATURES_WITH_HEADER = [
|
|||
|
||||
# ids for cypress test data
|
||||
ADMIN_USER_ID = "872efd96-3bd7-4a1e-a239-2d72cad9f604"
|
||||
TEST_SUPERVISOR1_USER_ID = "a9a8b741-f115-4521-af2d-7dfef673b8c5"
|
||||
TEST_TRAINER1_USER_ID = "b9e71f59-c44f-4290-b93a-9b3151e9a2fc"
|
||||
TEST_STUDENT1_USER_ID = "65c73ad0-6d53-43a9-a4a4-64143f27b03a"
|
||||
TEST_STUDENT2_USER_ID = "19c40d94-15cc-4198-aaad-ef707c4b0900"
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ from vbv_lernwelt.core.constants import (
|
|||
TEST_STUDENT1_USER_ID,
|
||||
TEST_STUDENT2_USER_ID,
|
||||
TEST_STUDENT3_USER_ID,
|
||||
TEST_SUPERVISOR1_USER_ID,
|
||||
TEST_TRAINER1_USER_ID,
|
||||
)
|
||||
from vbv_lernwelt.core.models import User
|
||||
|
|
@ -66,15 +67,33 @@ default_users = [
|
|||
]
|
||||
|
||||
|
||||
def create_default_users(user_model=User, group_model=Group, default_password=None):
|
||||
if default_password is None:
|
||||
default_password = "test"
|
||||
|
||||
admin_group, created = group_model.objects.get_or_create(name="admin_group")
|
||||
_content_creator_grop, _created = group_model.objects.get_or_create(
|
||||
def create_default_users(default_password="test"):
|
||||
admin_group, created = Group.objects.get_or_create(name="admin_group")
|
||||
_content_creator_grop, _created = Group.objects.get_or_create(
|
||||
name="content_creator_grop"
|
||||
)
|
||||
student_group, created = group_model.objects.get_or_create(name="student_group")
|
||||
student_group, created = Group.objects.get_or_create(name="student_group")
|
||||
|
||||
def _create_user(
|
||||
_id,
|
||||
email,
|
||||
first_name,
|
||||
last_name,
|
||||
avatar_url,
|
||||
language,
|
||||
password,
|
||||
):
|
||||
user, _ = User.objects.get_or_create(
|
||||
id=_id,
|
||||
username=email,
|
||||
email=email,
|
||||
language=language,
|
||||
first_name=first_name,
|
||||
last_name=last_name,
|
||||
avatar_url=avatar_url,
|
||||
password=make_password(password),
|
||||
)
|
||||
return user
|
||||
|
||||
def _create_student_user(
|
||||
email,
|
||||
|
|
@ -85,43 +104,52 @@ def create_default_users(user_model=User, group_model=Group, default_password=No
|
|||
language="de",
|
||||
id=None,
|
||||
):
|
||||
student_user, created = _get_or_create_user(
|
||||
user_model=user_model,
|
||||
username=email,
|
||||
password=password,
|
||||
student_user = _create_user(
|
||||
email=email,
|
||||
first_name=first_name,
|
||||
last_name=last_name,
|
||||
avatar_url=avatar_url,
|
||||
language=language,
|
||||
id=id,
|
||||
password=password,
|
||||
_id=id,
|
||||
)
|
||||
student_user.first_name = first_name
|
||||
student_user.last_name = last_name
|
||||
student_user.avatar_url = avatar_url
|
||||
|
||||
student_user.groups.add(student_group)
|
||||
student_user.save()
|
||||
|
||||
def _create_admin_user(
|
||||
email, first_name, last_name, avatar_url="", id=None, password=default_password
|
||||
):
|
||||
admin_user, created = _get_or_create_user(
|
||||
user_model=user_model, username=email, password=password, id=id
|
||||
admin_user = _create_user(
|
||||
email=email,
|
||||
first_name=first_name,
|
||||
last_name=last_name,
|
||||
avatar_url=avatar_url,
|
||||
password=password,
|
||||
language="de",
|
||||
_id=id,
|
||||
)
|
||||
|
||||
admin_user.groups.add(admin_group)
|
||||
admin_user.is_superuser = True
|
||||
admin_user.is_staff = True
|
||||
admin_user.first_name = first_name
|
||||
admin_user.last_name = last_name
|
||||
admin_user.avatar_url = avatar_url
|
||||
admin_user.groups.add(admin_group)
|
||||
admin_user.save()
|
||||
|
||||
def _create_staff_user(
|
||||
email, first_name, last_name, id=None, password=default_password
|
||||
):
|
||||
staff_user, created = _get_or_create_user(
|
||||
user_model=user_model, username=email, password=password, id=id
|
||||
staff_user = _create_user(
|
||||
_id=id,
|
||||
email=email,
|
||||
first_name=first_name,
|
||||
last_name=last_name,
|
||||
avatar_url="",
|
||||
language="de",
|
||||
password=password,
|
||||
)
|
||||
staff_user.is_staff = True
|
||||
staff_user.first_name = first_name
|
||||
staff_user.last_name = last_name
|
||||
|
||||
staff_user.groups.add(_get_or_create_vbv_staff_group())
|
||||
staff_user.is_staff = True
|
||||
staff_user.save()
|
||||
|
||||
_create_admin_user(
|
||||
|
|
@ -297,6 +325,15 @@ def create_default_users(user_model=User, group_model=Group, default_password=No
|
|||
first_name="Matthias",
|
||||
last_name="Wirth",
|
||||
)
|
||||
_create_user(
|
||||
_id=TEST_SUPERVISOR1_USER_ID,
|
||||
email="test-supervisor1@example.com",
|
||||
first_name="[Supervisor]",
|
||||
last_name="Regionalleiter",
|
||||
password=default_password,
|
||||
language="de",
|
||||
avatar_url="",
|
||||
)
|
||||
|
||||
|
||||
def _get_or_create_user(user_model, *args, **kwargs):
|
||||
|
|
@ -311,7 +348,6 @@ def _get_or_create_user(user_model, *args, **kwargs):
|
|||
if not user:
|
||||
user = user_model.objects.create(
|
||||
username=username,
|
||||
password=make_password(password),
|
||||
email=username,
|
||||
language=language,
|
||||
id=id,
|
||||
|
|
|
|||
|
|
@ -34,6 +34,11 @@ from vbv_lernwelt.competence.models import ActionCompetence
|
|||
from vbv_lernwelt.core.constants import (
|
||||
TEST_COURSE_SESSION_BERN_ID,
|
||||
TEST_COURSE_SESSION_ZURICH_ID,
|
||||
TEST_STUDENT1_USER_ID,
|
||||
TEST_STUDENT2_USER_ID,
|
||||
TEST_STUDENT3_USER_ID,
|
||||
TEST_SUPERVISOR1_USER_ID,
|
||||
TEST_TRAINER1_USER_ID,
|
||||
)
|
||||
from vbv_lernwelt.core.models import User
|
||||
from vbv_lernwelt.course.consts import COURSE_TEST_ID
|
||||
|
|
@ -51,6 +56,7 @@ from vbv_lernwelt.course_session.models import (
|
|||
CourseSessionAttendanceCourse,
|
||||
CourseSessionEdoniqTest,
|
||||
)
|
||||
from vbv_lernwelt.course_session_group.models import CourseSessionGroup
|
||||
from vbv_lernwelt.feedback.services import update_feedback_response
|
||||
from vbv_lernwelt.learnpath.models import (
|
||||
Circle,
|
||||
|
|
@ -191,35 +197,34 @@ def create_test_course(include_uk=True, include_vv=True, with_sessions=False):
|
|||
start_date=now,
|
||||
)
|
||||
|
||||
trainer1 = User.objects.get(email="test-trainer1@example.com")
|
||||
region1 = CourseSessionGroup.objects.create(
|
||||
name="Region 1",
|
||||
course=course,
|
||||
)
|
||||
|
||||
region1.course_session.add(cs_bern)
|
||||
region1.course_session.add(cs_zurich)
|
||||
region1.supervisor.set([User.objects.get(id=TEST_SUPERVISOR1_USER_ID)])
|
||||
|
||||
csu = CourseSessionUser.objects.create(
|
||||
course_session=cs_bern,
|
||||
user=trainer1,
|
||||
user=User.objects.get(id=TEST_TRAINER1_USER_ID),
|
||||
role=CourseSessionUser.Role.EXPERT,
|
||||
)
|
||||
csu.expert.add(Circle.objects.get(slug="test-lehrgang-lp-circle-fahrzeug"))
|
||||
|
||||
student1 = User.objects.get(email="test-student1@example.com")
|
||||
_csu = CourseSessionUser.objects.create(
|
||||
course_session=cs_bern,
|
||||
user=student1,
|
||||
CourseSessionUser.objects.create(
|
||||
course_session=cs_bern, user=User.objects.get(id=TEST_STUDENT1_USER_ID)
|
||||
)
|
||||
|
||||
student2 = User.objects.get(email="test-student2@example.com")
|
||||
_csu = CourseSessionUser.objects.create(
|
||||
course_session=cs_bern,
|
||||
user=student2,
|
||||
)
|
||||
student2 = User.objects.get(email="test-student2@example.com")
|
||||
_csu = CourseSessionUser.objects.create(
|
||||
course_session=cs_zurich,
|
||||
user=student2,
|
||||
)
|
||||
# in both sessions (BE and ZH)
|
||||
test_student_2 = User.objects.get(id=TEST_STUDENT2_USER_ID)
|
||||
CourseSessionUser.objects.create(course_session=cs_bern, user=test_student_2)
|
||||
CourseSessionUser.objects.create(course_session=cs_zurich, user=test_student_2)
|
||||
|
||||
student3 = User.objects.get(email="test-student3@example.com")
|
||||
_csu = CourseSessionUser.objects.create(
|
||||
CourseSessionUser.objects.create(
|
||||
course_session=cs_bern,
|
||||
user=student3,
|
||||
user=User.objects.get(id=TEST_STUDENT3_USER_ID),
|
||||
)
|
||||
|
||||
return course
|
||||
|
|
|
|||
|
|
@ -3,6 +3,11 @@ import csv
|
|||
from django.test import TestCase
|
||||
|
||||
from vbv_lernwelt.core.admin import User
|
||||
from vbv_lernwelt.core.constants import (
|
||||
TEST_STUDENT1_USER_ID,
|
||||
TEST_STUDENT2_USER_ID,
|
||||
TEST_TRAINER1_USER_ID,
|
||||
)
|
||||
from vbv_lernwelt.core.create_default_users import create_default_users
|
||||
from vbv_lernwelt.course.consts import COURSE_TEST_ID
|
||||
from vbv_lernwelt.course.creators.test_course import create_test_course
|
||||
|
|
@ -19,14 +24,14 @@ class EdoniqUserExportTestCase(TestCase):
|
|||
create_default_users()
|
||||
create_test_course(with_sessions=True)
|
||||
|
||||
user1 = User.objects.get(email="test-student1@example.com")
|
||||
user1 = User.objects.get(id=TEST_STUDENT1_USER_ID)
|
||||
user1.additional_json_data = {
|
||||
"Lehrvertragsnummer": "23456",
|
||||
"Geburtsdatum": "01.01.1991",
|
||||
}
|
||||
user1.save()
|
||||
|
||||
user2 = User.objects.get(email="test-student2@example.com")
|
||||
user2 = User.objects.get(id=TEST_STUDENT2_USER_ID)
|
||||
user2.additional_json_data = {
|
||||
"Firmenname": "Test AG",
|
||||
"Lehrvertragsnummer": "12345",
|
||||
|
|
@ -45,7 +50,7 @@ class EdoniqUserExportTestCase(TestCase):
|
|||
self.assertEqual(len(users), 1)
|
||||
|
||||
def test_remove_eiger_versicherungen(self):
|
||||
user1 = User.objects.get(email="test-student1@example.com")
|
||||
user1 = User.objects.get(id=TEST_STUDENT1_USER_ID)
|
||||
user1.email = "some@eiger-versicherungen.ch"
|
||||
user1.save()
|
||||
users = fetch_course_session_users(
|
||||
|
|
@ -58,7 +63,7 @@ class EdoniqUserExportTestCase(TestCase):
|
|||
self.assertEqual(len(users), 4)
|
||||
|
||||
def test_deduplicates_users(self):
|
||||
trainer1 = User.objects.get(email="test-trainer1@example.com")
|
||||
trainer1 = User.objects.get(id=TEST_TRAINER1_USER_ID)
|
||||
cs_zrh = CourseSession.objects.get(
|
||||
title="Test Zürich 2022 a",
|
||||
)
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ from django.utils.timezone import make_naive
|
|||
from openpyxl.reader.excel import load_workbook
|
||||
|
||||
from vbv_lernwelt.assignment.models import AssignmentType
|
||||
from vbv_lernwelt.core.constants import TEST_TRAINER1_USER_ID
|
||||
from vbv_lernwelt.core.create_default_users import create_default_users
|
||||
from vbv_lernwelt.core.models import User
|
||||
from vbv_lernwelt.course.creators.test_course import create_test_course
|
||||
|
|
@ -127,7 +128,7 @@ class CreateOrUpdateCourseSessionTestCase(TestCase):
|
|||
self.course, data, language="de", circle_keys=["Fahrzeug"]
|
||||
)
|
||||
|
||||
trainer1 = User.objects.get(email="test-trainer1@example.com")
|
||||
trainer1 = User.objects.get(id=TEST_TRAINER1_USER_ID)
|
||||
csu = CourseSessionUser.objects.create(
|
||||
course_session=cs,
|
||||
user=trainer1,
|
||||
|
|
|
|||
Loading…
Reference in New Issue