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