From c64341a6c18da6a320997921d11edbb65e5e3e8d Mon Sep 17 00:00:00 2001 From: Daniel Egger Date: Fri, 14 Apr 2023 09:05:36 +0200 Subject: [PATCH 1/3] Refactor test course to make it more realistic --- .../assignment/creators/create_assignments.py | 277 ++++++++++++++++- .../course/creators/test_course.py | 289 +++++++++++------- .../commands/create_default_courses.py | 6 - 3 files changed, 458 insertions(+), 114 deletions(-) diff --git a/server/vbv_lernwelt/assignment/creators/create_assignments.py b/server/vbv_lernwelt/assignment/creators/create_assignments.py index 62b196e6..c85e9caa 100644 --- a/server/vbv_lernwelt/assignment/creators/create_assignments.py +++ b/server/vbv_lernwelt/assignment/creators/create_assignments.py @@ -1,3 +1,5 @@ +from wagtail.blocks import StreamValue + from vbv_lernwelt.assignment.models import TaskContentStreamBlock from vbv_lernwelt.assignment.tests.assignment_factories import ( AssignmentFactory, @@ -8,9 +10,8 @@ from vbv_lernwelt.assignment.tests.assignment_factories import ( UserTextInputBlockFactory, ) from vbv_lernwelt.core.utils import replace_whitespace -from vbv_lernwelt.course.consts import COURSE_UK +from vbv_lernwelt.course.consts import COURSE_UK, COURSE_TEST_ID from vbv_lernwelt.course.models import CoursePage -from wagtail.blocks import StreamValue def create_uk_assignments(course_id=COURSE_UK): @@ -283,3 +284,275 @@ def create_uk_assignments(course_id=COURSE_UK): ) assignment.save() + + +def create_test_assignments(course_id=COURSE_TEST_ID): + course_page = CoursePage.objects.get(course_id=course_id) + assignment_page = AssignmentListPageFactory( + parent=course_page, + ) + + assignment = AssignmentFactory( + parent=assignment_page, + title="Überprüfen einer Motorfahrzeugs-Versicherungspolice", + effort_required="ca. 5 Stunden", + starting_position=replace_whitespace( + """ + Jemand aus deiner Familie oder aus deinem Freundeskreis möchte sein + Versicherungspolice überprüfen lassen. Diese Person kommt nun mit ihrer Police auf dich zu + und bittet dich als Versicherungsprofi, diese kritisch zu überprüfen und ihr ggf. Anpassungsvorschläge + zu unterbreiten. In diesem Kompetenznachweis kannst du nun dein Wissen und Können im Bereich + der Motorfahrzeugversicherung unter Beweis stellen. + """ + ), + performance_objectives=[ + ( + "performance_objective", + PerformanceObjectiveBlockFactory( + text="Sie erläutern die Leistungen und Produkte im Versicherungsbereich." + ), + ), + ( + "performance_objective", + PerformanceObjectiveBlockFactory( + text="Sie beurteilen gängige Versicherungslösungen fachkundig." + ), + ), + ], + assessment_document_url="https://www.vbv.ch", + assessment_description="Diese geleitete Fallarbeit wird auf Grund des folgenden Beurteilungsintrument bewertet.", + ) + + assignment.tasks = [] + assignment.tasks.append( + ( + "task", + TaskBlockFactory( + title="Teilaufgabe 1: Beispiel einer Versicherungspolice finden", + # it is hard to create a StreamValue programmatically, we have to + # create a `StreamValue` manually. Ask the Daniel and/or Ramon + content=StreamValue( + TaskContentStreamBlock(), + stream_data=[ + ( + "explanation", + ExplanationBlockFactory(text="Dies ist ein Beispieltext."), + ), + ( + "user_confirmation", + ExplanationBlockFactory( + text="Ja, ich habe Motorfahrzeugversicherungspolice von jemandem aus meiner Familie oder meinem Freundeskreis erhalten." + ), + ), + ], + ), + ), + ) + ) + + assignment.tasks.append( + ( + "task", + TaskBlockFactory( + title="Teilaufgabe 2: Kundensituation und Ausgangslage", + content=StreamValue( + TaskContentStreamBlock(), + stream_data=[ + ( + "explanation", + ExplanationBlockFactory( + text=replace_whitespace( + """ + Erläutere die Kundensituation und die Ausgangslage. + * Hast du alle Informationen, die du für den Policen-Check benötigst? + * Halte die wichtigsten Eckwerte des aktuellen Versicherungsverhältnisse in deiner Dokumentation fest (z.B wie lang wo versichert, Alter des Fahrzeugs, Kundenprofil, etc.) + """ + ) + ), + ), + ("user_text_input", UserTextInputBlockFactory()), + ], + ), + ), + ) + ) + + assignment.tasks.append( + ( + "task", + TaskBlockFactory( + title="Teilaufgabe 3: Aktuelle Versicherung", + # TODO: add document upload + content=StreamValue( + TaskContentStreamBlock(), + stream_data=[ + ( + "explanation", + ExplanationBlockFactory( + text=replace_whitespace( + """ + Zeige nun detailliert auf, wie dein Kundenbeispiel momentan versichert ist. + """ + ) + ), + ), + ("user_text_input", UserTextInputBlockFactory()), + ], + ), + ), + ) + ) + + assignment.tasks.append( + ( + "task", + TaskBlockFactory( + title="Teilaufgabe 4: Deine Empfehlungen", + content=StreamValue( + TaskContentStreamBlock(), + stream_data=[ + ( + "explanation", + ExplanationBlockFactory( + text=replace_whitespace( + """ + Erarbeite nun basierend auf deinen Erkenntnissen eine Empfehlung für die Person. + """ + ) + ), + ), + ( + "user_text_input", + UserTextInputBlockFactory( + text=replace_whitespace( + """ + Gibt es zusätzliche Deckungen, die du der Person empfehlen würdest? Begründe deine Empfehlung + """ + ) + ), + ), + ( + "user_text_input", + UserTextInputBlockFactory( + text=replace_whitespace( + """ + Gibt es Deckungen, die du streichen würdest? Begründe deine Empfehlung. + """ + ) + ), + ), + ( + "user_text_input", + UserTextInputBlockFactory( + text=replace_whitespace( + """ + Wenn die Person gemäss deiner Einschätzung genau richtig versichert ist, argumentiere, warum dies der Fall ist. + """ + ) + ), + ), + ], + ), + ), + ) + ) + + assignment.tasks.append( + ( + "task", + TaskBlockFactory( + title="Teilaufgabe 5: Reflexion", + content=StreamValue( + TaskContentStreamBlock(), + stream_data=[ + ( + "explanation", + ExplanationBlockFactory( + text=replace_whitespace( + """ + Reflektiere dein Handeln und halte deine Erkenntnisse fest. Frage dich dabei: + """ + ) + ), + ), + ( + "user_text_input", + UserTextInputBlockFactory( + text=replace_whitespace( + """ + War die Bearbeitung dieser geleiteten Fallarbeit erfolgreich? Begründe deine Einschätzung. + """ + ) + ), + ), + ( + "user_text_input", + UserTextInputBlockFactory( + text=replace_whitespace( + """ + Was ist dir bei der Bearbeitung des Auftrags gut gelungen? + """ + ) + ), + ), + ( + "user_text_input", + UserTextInputBlockFactory( + text=replace_whitespace( + """ + Was ist dir bei der Bearbeitung des Auftrags weniger gut gelungen? + """ + ) + ), + ), + ], + ), + ), + ) + ) + + assignment.tasks.append( + ( + "task", + TaskBlockFactory( + title="Teilaufgabe 6: Learnings", + content=StreamValue( + TaskContentStreamBlock(), + stream_data=[ + ( + "explanation", + ExplanationBlockFactory( + text=replace_whitespace( + """ + Leite aus der Teilaufgabe 5 deine persönlichen Learnings ab. + """ + ) + ), + ), + ( + "user_text_input", + UserTextInputBlockFactory( + text=replace_whitespace( + """ + Was würdest du beim nächsten Mal anders machen? + """ + ) + ), + ), + ( + "user_text_input", + UserTextInputBlockFactory( + text=replace_whitespace( + """ + Was hast du beim Bearbeiten des Auftrags Neues gelernt? + """ + ) + ), + ), + ], + ), + ), + ) + ) + + assignment.save() diff --git a/server/vbv_lernwelt/course/creators/test_course.py b/server/vbv_lernwelt/course/creators/test_course.py index 1a262434..7966fcc4 100644 --- a/server/vbv_lernwelt/course/creators/test_course.py +++ b/server/vbv_lernwelt/course/creators/test_course.py @@ -2,8 +2,11 @@ import json import wagtail_factories from django.conf import settings +from slugify import slugify from wagtail.models import Site +from vbv_lernwelt.assignment.creators.create_assignments import create_test_assignments +from vbv_lernwelt.assignment.models import Assignment from vbv_lernwelt.competence.factories import ( CompetencePageFactory, CompetenceProfilePageFactory, @@ -13,20 +16,20 @@ from vbv_lernwelt.competence.models import CompetencePage from vbv_lernwelt.core.tests.helpers import create_locales_for_wagtail from vbv_lernwelt.course.consts import COURSE_TEST_ID from vbv_lernwelt.course.factories import CoursePageFactory -from vbv_lernwelt.course.models import Course, CourseCategory, CoursePage -from vbv_lernwelt.learnpath.models import LearningUnit +from vbv_lernwelt.course.models import Course, CoursePage, CourseSession, CourseCategory from vbv_lernwelt.learnpath.tests.learning_path_factories import ( CircleFactory, - DocumentBlockFactory, - ExerciseBlockFactory, LearningContentFactory, - LearningModuleBlockFactory, LearningPathFactory, LearningSequenceFactory, LearningUnitFactory, - OnlineTrainingBlockFactory, - TestBlockFactory, TopicFactory, + MediaLibraryBlockFactory, + AttendanceDayBlockFactory, + FeedbackBlockFactory, + VideoBlockFactory, + LearningModuleBlockFactory, + AssignmentBlockFactory, ) from vbv_lernwelt.media_library.tests.media_library_factories import ( create_external_link_block, @@ -42,10 +45,18 @@ from vbv_lernwelt.media_library.tests.media_library_factories import ( def create_test_course(): create_locales_for_wagtail() create_test_course_with_categories() - create_test_learning_path() + + create_test_assignments() create_test_competence_profile() + create_test_learning_path() create_test_media_library() + # course sessions + CourseSession.objects.create( + course_id=COURSE_TEST_ID, + title="Bern 2022 a", + ) + def create_test_course_with_categories(apps=None, schema_editor=None): if apps is not None: @@ -89,118 +100,210 @@ def create_test_learning_path(user=None, skip_locales=True): course_page = CoursePage.objects.get(course_id=COURSE_TEST_ID) lp = LearningPathFactory(title="Test Lernpfad", parent=course_page) - TopicFactory(title="Basis", is_visible=False, parent=lp) + TopicFactory(title="Circle ÜK", is_visible=False, parent=lp) + create_test_uk_circle_fahrzeug(lp, title="Fahrzeug") - circle_basis = CircleFactory( - title="Basis", + TopicFactory(title="Circle VV", is_visible=False, parent=lp) + create_test_circle_reisen(lp) + + +def create_test_uk_circle_fahrzeug(lp, title="Fahrzeug"): + circle = CircleFactory( + title=title, parent=lp, - description="Basis", + description=""" +In diesem Circle erfährst du wie der Lehrgang aufgebaut ist. +Zudem lernst du die wichtigsten Grundlagen, +damit du erfolgreich mit deinem Lernpfad (durch-)starten kannst. + """.strip(), ) LearningSequenceFactory( - title="Starten", parent=circle_basis, icon="it-icon-ls-start" + title="Vorbereitung", parent=circle, icon="it-icon-ls-start" ) - LearningUnitFactory(title="Einführung", parent=circle_basis) + lu = LearningUnitFactory(title="Vorbereitung", parent=circle) LearningContentFactory( - title="Einführung", - parent=circle_basis, - minutes=15, - contents=[("document", DocumentBlockFactory())], - ) - LearningSequenceFactory(title="Beenden", parent=circle_basis, icon="it-icon-ls-end") - LearningUnitFactory(title="Beenden", parent=circle_basis) - LearningContentFactory( - title="Jetzt kann es losgehen!", - parent=circle_basis, - minutes=30, - contents=[("document", DocumentBlockFactory())], - ) - - TopicFactory(title="Beraten der Kunden", parent=lp) - - circle = CircleFactory( - title="Analyse", - parent=lp, - description="Unit-Test Circle", - ) - - LearningSequenceFactory(title="Starten", parent=circle, icon="it-icon-ls-start") - LearningUnitFactory(title="Einführung", parent=circle) - LearningContentFactory( - title=f'Einleitung Circle "Analyse"', + title="Verschaffe dir einen Überblick", parent=circle, - minutes=15, - contents=[("document", DocumentBlockFactory())], - ) - - LearningSequenceFactory(title="Beobachten", parent=circle, icon="it-icon-ls-watch") - lu = LearningUnitFactory( - title="Fahrzeug", - parent=circle, - course_category=CourseCategory.objects.get( - course_id=COURSE_TEST_ID, title="Fahrzeug" - ), ) LearningContentFactory( - title="Rafael Fasel wechselt sein Auto", + title=f"Mediathek {title}", parent=circle, - minutes=30, contents=[ ( - "online_training", - OnlineTrainingBlockFactory( - description="In diesem Online-Training lernst du, wie du den Kundenbedarf ermittelst.", - url="", + "media_library", + MediaLibraryBlockFactory( + url=f"/media/überbetriebliche-kurse-media/category/{slugify(title)}" ), ) ], ) LearningContentFactory( - title="Fachcheck Fahrzeug", + title="Vorbereitungsauftrag", parent=circle, - minutes=30, - contents=[("test", TestBlockFactory())], ) - lu = LearningUnitFactory( + PerformanceCriteriaFactory( + parent=CompetencePage.objects.get(competence_id="X1"), + competence_id="X1.1", + title="Innerhalb des Handlungsfelds «Fahrzeug» bin ich fähig, die Ziele und Pläne des Kunden zu ergründen (SOLL).", + learning_unit=lu, + ) + PerformanceCriteriaFactory( + parent=CompetencePage.objects.get(competence_id="X1"), + competence_id="X1.1", + title="Innerhalb des Handlungsfelds «Fahrzeug» bin ich fähig, die IST-Situation des Kunden mit der geeigneten Gesprächs-/Fragetechnik zu erfassen.", + learning_unit=lu, + ) + + LearningSequenceFactory(title="Training", parent=circle) + LearningUnitFactory(title="Unterlagen", parent=circle) + LearningContentFactory( + title="Unterlagen für den Unterricht", + parent=circle, + ) + LearningUnitFactory(title="Präsenztag", parent=circle) + LearningContentFactory( + title="Präsenztag Fahrzeug", + parent=circle, + contents=[ + ( + "attendance_day", + AttendanceDayBlockFactory(), + ) + ], + ) + LearningUnitFactory(title="Kompetenznachweis", parent=circle) + LearningContentFactory( + title="Wissens- und Verständnisfragen", + parent=circle, + ) + LearningSequenceFactory(title="Transfer", parent=circle, icon="it-icon-ls-end") + LearningUnitFactory(title="Transfer", parent=circle) + LearningContentFactory( + title="Reflexion", + parent=circle, + ) + LearningContentFactory( + title="Überprüfen einer Motorfahrzeug-Versicherungspolice", + parent=circle, + contents=[ + ( + "assignment", + AssignmentBlockFactory( + assignment=Assignment.objects.get( + slug__startswith="test-lehrgang-assignment-überprüfen-einer-motorfahrzeugs" + ) + ), + ) + ], + ) + LearningContentFactory( + title="Feedback", + parent=circle, + contents=[ + ( + "feedback", + FeedbackBlockFactory(), + ) + ], + ) + + +def create_test_circle_reisen(lp): + circle = CircleFactory( title="Reisen", + parent=lp, + ) + LearningSequenceFactory(title="Starten", parent=circle, icon="it-icon-ls-start") + LearningUnitFactory(title="Einführung", parent=circle) + LearningContentFactory( + title="Verschaff dir einen Überblick", + parent=circle, + contents=[ + ( + "video", + VideoBlockFactory( + url="https://player.vimeo.com/video/772512710?h=30f912f15a", + description="Willkommen im Lehrgang Versicherungsvermitler VBV", + ), + ) + ], + ) + LearningContentFactory( + title=f"Mediathek Reisen", + parent=circle, + contents=[ + ( + "media_library", + MediaLibraryBlockFactory( + url=f"/media/test-lehrgang-media/category/reisen" + ), + ) + ], + ) + + LearningSequenceFactory(title="Analyse", parent=circle) + + # analyse + lu = LearningUnitFactory( + title="Bedarfsanalyse, Ist- und Soll-Situation", parent=circle, course_category=CourseCategory.objects.get( course_id=COURSE_TEST_ID, title="Reisen" ), ) + LearningContentFactory( - title="Reiseversicherung", + title="Emma und Ayla campen durch Amerika - Analyse", parent=circle, - minutes=240, - contents=[("exercise", ExerciseBlockFactory())], - ) - LearningContentFactory( - title="Emma und Ayla campen durch Amerika", - parent=circle, - minutes=120, contents=[ ( "learningmodule", LearningModuleBlockFactory( - url="/static/media/web_based_trainings/story-06-a-01-emma-und-ayla-campen-durch-amerika-einstieg/scormcontent/index.html" + url="https://s3.eu-central-1.amazonaws.com/myvbv-wbt.iterativ.ch/emma-und-ayla-campen-durch-amerika-analyse-xapi-FZoZOP9y/index.html" ), ) ], ) - LearningSequenceFactory(title="Beenden", parent=circle, icon="it-icon-ls-end") - LearningUnitFactory(title="Beenden", parent=circle) + PerformanceCriteriaFactory( + parent=CompetencePage.objects.get(competence_id="Y1"), + competence_id=f"Y1.1", + title=f"Ich bin fähig zu Reisen eine Gesprächsführung zu machen", + learning_unit=lu, + ) + PerformanceCriteriaFactory( + parent=CompetencePage.objects.get(competence_id="Y2"), + competence_id=f"Y2.1", + title=f"Ich bin fähig zu Reisen eine Analyse zu machen", + learning_unit=lu, + ) + + # transfer + parent = circle + LearningSequenceFactory(title="Transfer", parent=parent, icon="it-icon-ls-end") + LearningUnitFactory(title="Transfer, Reflexion, Feedback", parent=parent) LearningContentFactory( - title="KompetenzNavi anschauen", - parent=circle, - minutes=30, - contents=[("document", DocumentBlockFactory())], + title="Auswandern: Woran muss ich denken?", + parent=parent, ) LearningContentFactory( - title='Circle "Analyse" abschliessen', - parent=circle, - minutes=30, - contents=[("document", DocumentBlockFactory())], + title=f"Fachcheck Reisen", + parent=parent, + ) + LearningContentFactory( + title="Reflexion", + parent=parent, + ) + LearningContentFactory( + title="Feedback", + parent=parent, + contents=[ + ( + "feedback", + FeedbackBlockFactory(), + ) + ], ) @@ -249,32 +352,6 @@ def create_test_competence_profile(): items=[("item", i) for i in c["items"]], ) - PerformanceCriteriaFactory( - parent=CompetencePage.objects.get(competence_id="Y1"), - competence_id="Y1.3", - title="Innerhalb des Handlungsfelds «Fahrzeug» bin ich fähig, die Ziele und Pläne des Kunden zu ergründen (SOLL).", - learning_unit=LearningUnit.objects.get( - slug="test-lehrgang-lp-circle-analyse-lu-fahrzeug" - ), - ) - PerformanceCriteriaFactory( - parent=CompetencePage.objects.get(competence_id="Y2"), - competence_id="Y2.1", - title="Innerhalb des Handlungsfelds «Fahrzeug» bin ich fähig, die IST-Situation des Kunden mit der geeigneten Gesprächs-/Fragetechnik zu erfassen.", - learning_unit=LearningUnit.objects.get( - slug="test-lehrgang-lp-circle-analyse-lu-fahrzeug" - ), - ) - - PerformanceCriteriaFactory( - parent=CompetencePage.objects.get(competence_id="Y1"), - competence_id="Y1.3", - title="Innerhalb des Handlungsfelds «Reisen» bin ich fähig, die Ziele und Pläne des Kunden zu ergründen (SOLL).", - learning_unit=LearningUnit.objects.get( - slug="test-lehrgang-lp-circle-analyse-lu-reisen" - ), - ) - def create_test_media_library(): course = Course.objects.get(id=COURSE_TEST_ID) diff --git a/server/vbv_lernwelt/course/management/commands/create_default_courses.py b/server/vbv_lernwelt/course/management/commands/create_default_courses.py index fd779e9b..6e2fe032 100644 --- a/server/vbv_lernwelt/course/management/commands/create_default_courses.py +++ b/server/vbv_lernwelt/course/management/commands/create_default_courses.py @@ -69,12 +69,6 @@ def command(course): if COURSE_TEST_ID in course: create_test_course() - # course sessions - CourseSession.objects.create( - course_id=COURSE_TEST_ID, - title="Test Lehrgang Session", - ) - def create_versicherungsvermittlerin_course(): # Versicherungsvermittler/in mit neuen Circles From c0dc4d6a2ff2e8bf5a3463dc9ad9b95e82ef32e4 Mon Sep 17 00:00:00 2001 From: Daniel Egger Date: Fri, 14 Apr 2023 09:47:21 +0200 Subject: [PATCH 2/3] Fix python tests --- .../assignment/creators/create_assignments.py | 5 +- .../vbv_lernwelt/competence/tests/test_api.py | 4 +- .../course/creators/test_course.py | 47 ++++++++++------- .../commands/create_default_courses.py | 2 +- .../course/tests/test_completion_api.py | 4 +- .../course/tests/test_course_session_api.py | 2 +- .../course/tests/test_document_uploads.py | 14 +++--- .../feedback/tests/test_feedback_api.py | 50 ++++++++++--------- .../vbv_lernwelt/learnpath/tests/test_api.py | 2 +- .../learnpath/tests/test_models.py | 10 ++-- 10 files changed, 75 insertions(+), 65 deletions(-) diff --git a/server/vbv_lernwelt/assignment/creators/create_assignments.py b/server/vbv_lernwelt/assignment/creators/create_assignments.py index c85e9caa..ab78d80b 100644 --- a/server/vbv_lernwelt/assignment/creators/create_assignments.py +++ b/server/vbv_lernwelt/assignment/creators/create_assignments.py @@ -1,5 +1,3 @@ -from wagtail.blocks import StreamValue - from vbv_lernwelt.assignment.models import TaskContentStreamBlock from vbv_lernwelt.assignment.tests.assignment_factories import ( AssignmentFactory, @@ -10,8 +8,9 @@ from vbv_lernwelt.assignment.tests.assignment_factories import ( UserTextInputBlockFactory, ) from vbv_lernwelt.core.utils import replace_whitespace -from vbv_lernwelt.course.consts import COURSE_UK, COURSE_TEST_ID +from vbv_lernwelt.course.consts import COURSE_TEST_ID, COURSE_UK from vbv_lernwelt.course.models import CoursePage +from wagtail.blocks import StreamValue def create_uk_assignments(course_id=COURSE_UK): diff --git a/server/vbv_lernwelt/competence/tests/test_api.py b/server/vbv_lernwelt/competence/tests/test_api.py index 6bc36d1c..9294ce62 100644 --- a/server/vbv_lernwelt/competence/tests/test_api.py +++ b/server/vbv_lernwelt/competence/tests/test_api.py @@ -9,7 +9,7 @@ from vbv_lernwelt.course.creators.test_course import create_test_course class CompetenceAPITestCase(APITestCase): def setUp(self) -> None: create_default_users() - create_test_course() + create_test_course(include_uk=False) self.user = User.objects.get(username="admin") self.client.login(username="admin", password="test") @@ -23,6 +23,6 @@ class CompetenceAPITestCase(APITestCase): self.assertEqual(competence_profile.title, data["title"]) self.assertEqual( - "Innerhalb des Handlungsfelds «Fahrzeug» bin ich fähig, die Ziele und Pläne des Kunden zu ergründen (SOLL).", + "Ich bin fähig zu Reisen eine Gesprächsführung zu machen", data["children"][1]["children"][0]["title"], ) diff --git a/server/vbv_lernwelt/course/creators/test_course.py b/server/vbv_lernwelt/course/creators/test_course.py index 7966fcc4..c561173f 100644 --- a/server/vbv_lernwelt/course/creators/test_course.py +++ b/server/vbv_lernwelt/course/creators/test_course.py @@ -16,20 +16,20 @@ from vbv_lernwelt.competence.models import CompetencePage from vbv_lernwelt.core.tests.helpers import create_locales_for_wagtail from vbv_lernwelt.course.consts import COURSE_TEST_ID from vbv_lernwelt.course.factories import CoursePageFactory -from vbv_lernwelt.course.models import Course, CoursePage, CourseSession, CourseCategory +from vbv_lernwelt.course.models import Course, CourseCategory, CoursePage, CourseSession from vbv_lernwelt.learnpath.tests.learning_path_factories import ( + AssignmentBlockFactory, + AttendanceDayBlockFactory, CircleFactory, + FeedbackBlockFactory, LearningContentFactory, + LearningModuleBlockFactory, LearningPathFactory, LearningSequenceFactory, LearningUnitFactory, - TopicFactory, MediaLibraryBlockFactory, - AttendanceDayBlockFactory, - FeedbackBlockFactory, + TopicFactory, VideoBlockFactory, - LearningModuleBlockFactory, - AssignmentBlockFactory, ) from vbv_lernwelt.media_library.tests.media_library_factories import ( create_external_link_block, @@ -42,20 +42,27 @@ from vbv_lernwelt.media_library.tests.media_library_factories import ( ) -def create_test_course(): +def create_test_course(include_uk=True, include_vv=True, with_sessions=False): create_locales_for_wagtail() create_test_course_with_categories() - create_test_assignments() create_test_competence_profile() - create_test_learning_path() + if include_uk: + create_test_assignments() + + create_test_learning_path(include_uk=include_uk, include_vv=include_vv) create_test_media_library() - # course sessions - CourseSession.objects.create( - course_id=COURSE_TEST_ID, - title="Bern 2022 a", - ) + if with_sessions: + # course sessions + CourseSession.objects.create( + course_id=COURSE_TEST_ID, + title="Bern 2022 a", + ) + CourseSession.objects.create( + course_id=COURSE_TEST_ID, + title="Zürich 2022 a", + ) def create_test_course_with_categories(apps=None, schema_editor=None): @@ -96,15 +103,17 @@ def create_test_course_with_categories(apps=None, schema_editor=None): course.save() -def create_test_learning_path(user=None, skip_locales=True): +def create_test_learning_path(include_uk=True, include_vv=True): course_page = CoursePage.objects.get(course_id=COURSE_TEST_ID) lp = LearningPathFactory(title="Test Lernpfad", parent=course_page) - TopicFactory(title="Circle ÜK", is_visible=False, parent=lp) - create_test_uk_circle_fahrzeug(lp, title="Fahrzeug") + if include_uk: + TopicFactory(title="Circle ÜK", is_visible=False, parent=lp) + create_test_uk_circle_fahrzeug(lp, title="Fahrzeug") - TopicFactory(title="Circle VV", is_visible=False, parent=lp) - create_test_circle_reisen(lp) + if include_vv: + TopicFactory(title="Circle VV", is_visible=False, parent=lp) + create_test_circle_reisen(lp) def create_test_uk_circle_fahrzeug(lp, title="Fahrzeug"): diff --git a/server/vbv_lernwelt/course/management/commands/create_default_courses.py b/server/vbv_lernwelt/course/management/commands/create_default_courses.py index 6e2fe032..d6c95d50 100644 --- a/server/vbv_lernwelt/course/management/commands/create_default_courses.py +++ b/server/vbv_lernwelt/course/management/commands/create_default_courses.py @@ -67,7 +67,7 @@ def command(course): create_course_uk_fr() if COURSE_TEST_ID in course: - create_test_course() + create_test_course(with_sessions=True) def create_versicherungsvermittlerin_course(): diff --git a/server/vbv_lernwelt/course/tests/test_completion_api.py b/server/vbv_lernwelt/course/tests/test_completion_api.py index 5d2fb1d5..8b915ea6 100644 --- a/server/vbv_lernwelt/course/tests/test_completion_api.py +++ b/server/vbv_lernwelt/course/tests/test_completion_api.py @@ -17,7 +17,7 @@ from vbv_lernwelt.learnpath.models import LearningContent class CourseCompletionApiTestCase(APITestCase): def setUp(self) -> None: create_default_users() - create_test_course() + create_test_course(include_uk=False) self.user = User.objects.get(username="admin") self.cs = CourseSession.objects.create( course_id=COURSE_TEST_ID, @@ -30,7 +30,7 @@ class CourseCompletionApiTestCase(APITestCase): self.client.login(username="admin", password="test") def test_completeLearningContent_works(self): - learning_content = LearningContent.objects.get(title="Fachcheck Fahrzeug") + learning_content = LearningContent.objects.get(title="Fachcheck Reisen") learning_content_key = str(learning_content.translation_key) mark_url = f"/api/course/completion/mark/" diff --git a/server/vbv_lernwelt/course/tests/test_course_session_api.py b/server/vbv_lernwelt/course/tests/test_course_session_api.py index 43a7f43b..17d3616c 100644 --- a/server/vbv_lernwelt/course/tests/test_course_session_api.py +++ b/server/vbv_lernwelt/course/tests/test_course_session_api.py @@ -12,7 +12,7 @@ from vbv_lernwelt.course.models import CourseSession, CourseSessionUser class CourseCompletionApiTestCase(APITestCase): def setUp(self) -> None: create_default_users() - create_test_course() + create_test_course(include_uk=False) self.user = User.objects.get(username="student") diff --git a/server/vbv_lernwelt/course/tests/test_document_uploads.py b/server/vbv_lernwelt/course/tests/test_document_uploads.py index a4eab90d..4d08b6cf 100644 --- a/server/vbv_lernwelt/course/tests/test_document_uploads.py +++ b/server/vbv_lernwelt/course/tests/test_document_uploads.py @@ -30,7 +30,7 @@ class DocumentUploadApiTestCase(APITestCase): user=User.objects.get(username="patrizia.huggel@eiger-versicherungen.ch"), role=CourseSessionUser.Role.EXPERT, ) - csu.expert.add(Circle.objects.get(slug="test-lehrgang-lp-circle-analyse")) + csu.expert.add(Circle.objects.get(slug="test-lehrgang-lp-circle-fahrzeug")) _csu = CourseSessionUser.objects.create( course_session=self.course_session, @@ -52,7 +52,7 @@ class DocumentUploadApiTestCase(APITestCase): @override_settings(FILE_UPLOAD_STORAGE="s3") def test_can_start_upload(self): ls = LearningSequence.objects.get( - slug="test-lehrgang-lp-circle-analyse-ls-beobachten" + slug="test-lehrgang-lp-circle-fahrzeug-ls-vorbereitung" ) self.test_data["learning_sequence"] = ls.id @@ -78,7 +78,7 @@ class DocumentUploadApiTestCase(APITestCase): def test_cannot_start_upload_in_other_circle(self): ls = LearningSequence.objects.get( - slug="test-lehrgang-lp-circle-basis-ls-starten" + slug="test-lehrgang-lp-circle-reisen-ls-analyse" ) self.test_data["learning_sequence"] = ls.id response = self.client.post(f"/api/core/document/start/", self.test_data) @@ -88,7 +88,7 @@ class DocumentUploadApiTestCase(APITestCase): def test_student_cannot_start_uploads(self): self.client.login(username="student", password="test") ls = LearningSequence.objects.get( - slug="test-lehrgang-lp-circle-basis-ls-starten" + slug="test-lehrgang-lp-circle-fahrzeug-ls-vorbereitung" ) self.test_data["learning_sequence"] = ls.id response = self.client.post(f"/api/core/document/start/", self.test_data) @@ -97,7 +97,7 @@ class DocumentUploadApiTestCase(APITestCase): def test_expert_can_finish_own_upload(self): ls = LearningSequence.objects.get( - slug="test-lehrgang-lp-circle-analyse-ls-beobachten" + slug="test-lehrgang-lp-circle-fahrzeug-ls-vorbereitung" ) self.test_data["learning_sequence"] = ls.id response = self.client.post(f"/api/core/document/start/", self.test_data) @@ -135,7 +135,7 @@ class DocumentUploadApiTestCase(APITestCase): def test_can_delete_document(self): ls = LearningSequence.objects.get( - slug="test-lehrgang-lp-circle-analyse-ls-beobachten" + slug="test-lehrgang-lp-circle-fahrzeug-ls-vorbereitung" ) file = UploadFile( original_file_name="test.pdf", @@ -169,7 +169,7 @@ class DocumentUploadApiTestCase(APITestCase): def test_student_cannot_delete_document(self): self.client.login(username="student", password="test") ls = LearningSequence.objects.get( - slug="test-lehrgang-lp-circle-analyse-ls-beobachten" + slug="test-lehrgang-lp-circle-fahrzeug-ls-vorbereitung" ) file = UploadFile( original_file_name="test.pdf", diff --git a/server/vbv_lernwelt/feedback/tests/test_feedback_api.py b/server/vbv_lernwelt/feedback/tests/test_feedback_api.py index 6b10de7c..51554f68 100644 --- a/server/vbv_lernwelt/feedback/tests/test_feedback_api.py +++ b/server/vbv_lernwelt/feedback/tests/test_feedback_api.py @@ -30,7 +30,7 @@ class FeedbackApiBaseTestCase(APITestCase): user=User.objects.get(username="patrizia.huggel@eiger-versicherungen.ch"), role=CourseSessionUser.Role.EXPERT, ) - csu.expert.add(Circle.objects.get(slug="test-lehrgang-lp-circle-analyse")) + csu.expert.add(Circle.objects.get(slug="test-lehrgang-lp-circle-fahrzeug")) _csu = CourseSessionUser.objects.create( course_session=self.course_session, @@ -58,7 +58,7 @@ class FeedbackSummaryApiTestCase(FeedbackApiBaseTestCase): user=expert, role=CourseSessionUser.Role.EXPERT, ) - basis_circle = Circle.objects.get(slug="test-lehrgang-lp-circle-basis") + basis_circle = Circle.objects.get(slug="test-lehrgang-lp-circle-reisen") csu.expert.add(basis_circle) FeedbackFactory(circle=basis_circle, course_session=csu.course_session).save() @@ -81,7 +81,7 @@ class FeedbackSummaryApiTestCase(FeedbackApiBaseTestCase): user=expert, role=CourseSessionUser.Role.EXPERT, ) - basis_circle = Circle.objects.get(slug="test-lehrgang-lp-circle-basis") + basis_circle = Circle.objects.get(slug="test-lehrgang-lp-circle-reisen") csu.expert.add(basis_circle) feedback = FeedbackFactory( @@ -100,26 +100,26 @@ class FeedbackSummaryApiTestCase(FeedbackApiBaseTestCase): self.assertEqual(len(Notification.objects.all()), 0) def test_can_get_feedback_summary_for_circles(self): - number_basis_feedback = 5 - number_analyse_feedback = 10 + number_reisen_feedback = 5 + number_fahrzeug_feedback = 10 csu = CourseSessionUser.objects.get( course_session=self.course_session, user=User.objects.get(username="patrizia.huggel@eiger-versicherungen.ch"), role=CourseSessionUser.Role.EXPERT, ) - analyse_circle = Circle.objects.get(slug="test-lehrgang-lp-circle-analyse") - basis_circle = Circle.objects.get(slug="test-lehrgang-lp-circle-basis") - csu.expert.add(basis_circle) + fahrzeug_circle = Circle.objects.get(slug="test-lehrgang-lp-circle-fahrzeug") + reisen_circle = Circle.objects.get(slug="test-lehrgang-lp-circle-reisen") + csu.expert.add(reisen_circle) - for i in range(number_basis_feedback): + for i in range(number_reisen_feedback): FeedbackFactory( - circle=basis_circle, course_session=csu.course_session + circle=reisen_circle, course_session=csu.course_session ).save() - for i in range(number_analyse_feedback): + for i in range(number_fahrzeug_feedback): FeedbackFactory( - circle=analyse_circle, course_session=csu.course_session + circle=fahrzeug_circle, course_session=csu.course_session ).save() response = self.client.get( @@ -128,8 +128,8 @@ class FeedbackSummaryApiTestCase(FeedbackApiBaseTestCase): self.assertEqual(response.status_code, 200) expected = [ - {"circle_id": basis_circle.id, "count": number_basis_feedback}, - {"circle_id": analyse_circle.id, "count": number_analyse_feedback}, + {"circle_id": fahrzeug_circle.id, "count": number_fahrzeug_feedback}, + {"circle_id": reisen_circle.id, "count": number_reisen_feedback}, ] self.assertEqual(response.data, expected) @@ -142,17 +142,17 @@ class FeedbackSummaryApiTestCase(FeedbackApiBaseTestCase): user=User.objects.get(username="patrizia.huggel@eiger-versicherungen.ch"), role=CourseSessionUser.Role.EXPERT, ) - analyse_circle = Circle.objects.get(slug="test-lehrgang-lp-circle-analyse") - basis_circle = Circle.objects.get(slug="test-lehrgang-lp-circle-basis") + fahrzeug_circle = Circle.objects.get(slug="test-lehrgang-lp-circle-fahrzeug") + reisen_circle = Circle.objects.get(slug="test-lehrgang-lp-circle-reisen") for i in range(number_basis_feedback): FeedbackFactory( - circle=basis_circle, course_session=csu.course_session + circle=reisen_circle, course_session=csu.course_session ).save() for i in range(number_analyse_feedback): FeedbackFactory( - circle=analyse_circle, course_session=csu.course_session + circle=fahrzeug_circle, course_session=csu.course_session ).save() response = self.client.get( @@ -161,7 +161,7 @@ class FeedbackSummaryApiTestCase(FeedbackApiBaseTestCase): self.assertEqual(response.status_code, 200) expected = [ - {"circle_id": analyse_circle.id, "count": number_analyse_feedback}, + {"circle_id": fahrzeug_circle.id, "count": number_analyse_feedback}, ] self.assertEqual(response.data, expected) @@ -171,8 +171,10 @@ class FeedbackSummaryApiTestCase(FeedbackApiBaseTestCase): course_session=self.course_session, user=self.user, ) - analyse_circle = Circle.objects.get(slug="test-lehrgang-lp-circle-analyse") - FeedbackFactory(circle=analyse_circle, course_session=csu.course_session).save() + fahrzeug_circle = Circle.objects.get(slug="test-lehrgang-lp-circle-fahrzeug") + FeedbackFactory( + circle=fahrzeug_circle, course_session=csu.course_session + ).save() response = self.client.get( f"/api/core/feedback/{csu.course_session.course.id}/summary/" @@ -202,7 +204,7 @@ class FeedbackDetailApiTestCase(FeedbackApiBaseTestCase): user=User.objects.get(username="patrizia.huggel@eiger-versicherungen.ch"), role=CourseSessionUser.Role.EXPERT, ) - circle = Circle.objects.get(slug="test-lehrgang-lp-circle-analyse") + circle = Circle.objects.get(slug="test-lehrgang-lp-circle-fahrzeug") for i in range(3): FeedbackFactory( @@ -249,7 +251,7 @@ class FeedbackDetailApiTestCase(FeedbackApiBaseTestCase): role=CourseSessionUser.Role.EXPERT, ) - circle = Circle.objects.get(slug="test-lehrgang-lp-circle-basis") + circle = Circle.objects.get(slug="test-lehrgang-lp-circle-reisen") FeedbackFactory(circle=circle, course_session=csu.course_session).save() response = self.client.get( @@ -265,7 +267,7 @@ class FeedbackDetailApiTestCase(FeedbackApiBaseTestCase): course_session=self.course_session, user=self.user, ) - circle = Circle.objects.get(slug="test-lehrgang-lp-circle-analyse") + circle = Circle.objects.get(slug="test-lehrgang-lp-circle-fahrzeug") FeedbackFactory(circle=circle, course_session=csu.course_session).save() response = self.client.get( diff --git a/server/vbv_lernwelt/learnpath/tests/test_api.py b/server/vbv_lernwelt/learnpath/tests/test_api.py index c68c0588..da6c8cc3 100644 --- a/server/vbv_lernwelt/learnpath/tests/test_api.py +++ b/server/vbv_lernwelt/learnpath/tests/test_api.py @@ -28,7 +28,7 @@ class TestRetrieveLearingPathContents(APITestCase): # topics and circles self.assertEqual(4, len(data["children"])) # circle "analyse" contents - self.assertEqual(14, len(data["children"][3]["children"])) + self.assertEqual(13, len(data["children"][3]["children"])) def test_normalUser_withoutCourseSession_cannotAccess(self): self.user = User.objects.get(username="student") diff --git a/server/vbv_lernwelt/learnpath/tests/test_models.py b/server/vbv_lernwelt/learnpath/tests/test_models.py index c89786ba..9c64e68b 100644 --- a/server/vbv_lernwelt/learnpath/tests/test_models.py +++ b/server/vbv_lernwelt/learnpath/tests/test_models.py @@ -8,12 +8,12 @@ from vbv_lernwelt.learnpath.models import LearningContent class SaveSlugTestCase(TestCase): def setUp(self) -> None: create_default_users() - create_test_course() + create_test_course(include_uk=False) def test_save_willHandleSlug(self): - lc_fachcheck = LearningContent.objects.get(title="Fachcheck Fahrzeug") + lc_fachcheck = LearningContent.objects.get(title="Fachcheck Reisen") self.assertEqual( - lc_fachcheck.slug, "test-lehrgang-lp-circle-analyse-lc-fachcheck-fahrzeug" + lc_fachcheck.slug, "test-lehrgang-lp-circle-reisen-lc-fachcheck-reisen" ) # only changing minutes should not change slug @@ -21,7 +21,7 @@ class SaveSlugTestCase(TestCase): lc_fachcheck.save() lc_fachcheck = LearningContent.objects.get(id=lc_fachcheck.id) self.assertEqual( - lc_fachcheck.slug, "test-lehrgang-lp-circle-analyse-lc-fachcheck-fahrzeug" + lc_fachcheck.slug, "test-lehrgang-lp-circle-reisen-lc-fachcheck-reisen" ) # changing title should change slug @@ -29,5 +29,5 @@ class SaveSlugTestCase(TestCase): lc_fachcheck.save() lc_fachcheck = LearningContent.objects.get(id=lc_fachcheck.id) self.assertEqual( - lc_fachcheck.slug, "test-lehrgang-lp-circle-analyse-lc-fachcheck-foobar" + lc_fachcheck.slug, "test-lehrgang-lp-circle-reisen-lc-fachcheck-foobar" ) From f3edfab981d1fd00a1cc99cce758e5c54ede5344 Mon Sep 17 00:00:00 2001 From: Daniel Egger Date: Fri, 14 Apr 2023 10:26:28 +0200 Subject: [PATCH 3/3] Update cypress tests --- cypress/e2e/circle.cy.js | 61 ++++++++++++------------------------ cypress/e2e/competence.cy.js | 18 +++++------ 2 files changed, 29 insertions(+), 50 deletions(-) diff --git a/cypress/e2e/circle.cy.js b/cypress/e2e/circle.cy.js index ceba72d8..33639b1d 100644 --- a/cypress/e2e/circle.cy.js +++ b/cypress/e2e/circle.cy.js @@ -5,77 +5,59 @@ describe("circle page", () => { cy.manageCommand("cypress_reset"); login("admin", "test"); - cy.visit("/course/test-lehrgang/learn/analyse"); + cy.visit("/course/test-lehrgang/learn/fahrzeug"); }); it("can open circle page", () => { - cy.get('[data-cy="circle-title"]').should("contain", "Analyse"); + cy.get('[data-cy="circle-title"]').should("contain", "Fahrzeug"); }); it("can toggle learning content", () => { - cy.get('[data-cy="circle-title"]').should("contain", "Analyse"); + cy.get('[data-cy="circle-title"]').should("contain", "Fahrzeug"); cy.get( - '[data-cy="test-lehrgang-lp-circle-analyse-lc-einleitung-circle-analyse-checkbox"] > .cy-checkbox' + '[data-cy="test-lehrgang-lp-circle-fahrzeug-lc-mediathek-fahrzeug-checkbox"] > .cy-checkbox' ).click(); cy.get( - '[data-cy="test-lehrgang-lp-circle-analyse-lc-einleitung-circle-analyse-checkbox"] > .cy-checkbox-checked' + '[data-cy="test-lehrgang-lp-circle-fahrzeug-lc-mediathek-fahrzeug-checkbox"] > .cy-checkbox-checked' ).should("have.class", "cy-checkbox-checked"); // completion data should still be there after reload cy.reload(); cy.get( - '[data-cy="test-lehrgang-lp-circle-analyse-lc-einleitung-circle-analyse-checkbox"] > .cy-checkbox-checked' + '[data-cy="test-lehrgang-lp-circle-fahrzeug-lc-mediathek-fahrzeug-checkbox"] > .cy-checkbox-checked' ).should("have.class", "cy-checkbox-checked"); }); it("can open learning contents and complete them by continuing", () => { cy.get( - '[data-cy="test-lehrgang-lp-circle-analyse-lu-fahrzeug"] > div' - ).should("have.class", "self-evaluation-unknown"); - - cy.get( - '[data-cy="test-lehrgang-lp-circle-analyse-lc-rafael-fasel-wechselt-sein-auto"]' + '[data-cy="test-lehrgang-lp-circle-fahrzeug-lc-verschaffe-dir-einen-überblick"]' ).click(); cy.get('[data-cy="ln-title"]').should( "contain", - "Rafael Fasel wechselt sein Auto" + "Verschaffe dir einen Überblick" ); cy.get('[data-cy="complete-and-continue"]').click(); cy.get('[data-cy="ls-continue-button"]').click(); - cy.get('[data-cy="ln-title"]').should("contain", "Fachcheck Fahrzeug"); + cy.get('[data-cy="ln-title"]').should("contain", "Mediathek Fahrzeug"); cy.get('[data-cy="complete-and-continue"]').click(); - cy.get('[data-cy="test-lehrgang-lp-circle-analyse-lu-fahrzeug"]').click(); - cy.get('[data-cy="ln-title"]').should( - "contain", - "Selbsteinschätzung Fahrzeug" - ); - cy.get('[data-cy="success"]').click(); - cy.get('[data-cy="next-step"]').click(); - cy.get('[data-cy="success"]').click(); - cy.get('[data-cy="complete-and-continue"]').click(); - - cy.get('[data-cy="ln-title"]').should( - "contain", - "Selbsteinschätzung Fahrzeug" - ); - cy.get('[data-cy="success"]').click(); - cy.get('[data-cy="complete-and-continue"]').click(); cy.get('[data-cy="ls-continue-button"]').click(); + cy.get('[data-cy="ln-title"]').should("contain", "Vorbereitungsauftrag"); + cy.get('[data-cy="complete-and-continue"]').click(); cy.get( - '[data-cy="test-lehrgang-lp-circle-analyse-lc-rafael-fasel-wechselt-sein-auto-checkbox"] > .cy-checkbox-checked' + '[data-cy="test-lehrgang-lp-circle-fahrzeug-lc-verschaffe-dir-einen-überblick-checkbox"] > .cy-checkbox-checked' ).should("have.class", "cy-checkbox-checked"); cy.get( - '[data-cy="test-lehrgang-lp-circle-analyse-lc-fachcheck-fahrzeug-checkbox"] > .cy-checkbox-checked' + '[data-cy="test-lehrgang-lp-circle-fahrzeug-lc-mediathek-fahrzeug-checkbox"] > .cy-checkbox-checked' ).should("have.class", "cy-checkbox-checked"); cy.get( - '[data-cy="test-lehrgang-lp-circle-analyse-lu-fahrzeug"] > div' - ).should("have.class", "self-evaluation-success"); + '[data-cy="test-lehrgang-lp-circle-fahrzeug-lc-vorbereitungsauftrag-checkbox"] > .cy-checkbox-checked' + ).should("have.class", "cy-checkbox-checked"); }); it("continue button works", () => { @@ -84,23 +66,20 @@ describe("circle page", () => { cy.get('[data-cy="ln-title"]').should( "contain", - 'Einleitung Circle "Analyse"' + "Verschaffe dir einen Überblick" ); cy.get('[data-cy="complete-and-continue"]').click(); cy.get('[data-cy="ls-continue-button"]').should("contain", "Weiter geht's"); cy.get('[data-cy="ls-continue-button"]').click(); - cy.get('[data-cy="ln-title"]').should( - "contain", - "Rafael Fasel wechselt sein Auto" - ); + cy.get('[data-cy="ln-title"]').should("contain", "Mediathek Fahrzeug"); }); it("can open learning content by url", () => { - cy.visit("/course/test-lehrgang/learn/analyse/reiseversicherung"); - cy.get('[data-cy="ln-title"]').should("contain", "Reiseversicherung"); + cy.visit("/course/test-lehrgang/learn/fahrzeug/mediathek-fahrzeug"); + cy.get('[data-cy="ln-title"]').should("contain", "Mediathek Fahrzeug"); cy.get('[data-cy="close-learning-content"]').click(); - cy.get('[data-cy="circle-title"]').should("contain", "Analyse"); + cy.get('[data-cy="circle-title"]').should("contain", "Fahrzeug"); }); }); diff --git a/cypress/e2e/competence.cy.js b/cypress/e2e/competence.cy.js index 7a2d5c99..a753ad8a 100644 --- a/cypress/e2e/competence.cy.js +++ b/cypress/e2e/competence.cy.js @@ -6,37 +6,37 @@ describe("Competence", () => { login("admin", "test"); - // test-lehrgang-lp-circle-analyse-lu-fahrzeug ist eine Selbstevaluation + // test-lehrgang-lp-circle-reisen-lu-reisen ist eine Selbstevaluation // mit mehreren Schritten - cy.visit("/course/test-lehrgang/learn/analyse"); + cy.visit("/course/test-lehrgang/learn/reisen"); }); it("self evaluation should be neutral", () => { - cy.get('[data-cy="test-lehrgang-lp-circle-analyse-lu-fahrzeug"]') + cy.get('[data-cy="test-lehrgang-lp-circle-reisen-lu-reisen"]') .find('[data-cy="unknown"]') .should("exist"); }); it("should be able to make a happy self evaluation", () => { - cy.get('[data-cy="test-lehrgang-lp-circle-analyse-lu-fahrzeug"]').click(); + cy.get('[data-cy="test-lehrgang-lp-circle-reisen-lu-reisen"]').click(); cy.makeSelfEvaluation([true, true]); - cy.get('[data-cy="test-lehrgang-lp-circle-analyse-lu-fahrzeug"]') + cy.get('[data-cy="test-lehrgang-lp-circle-reisen-lu-reisen"]') .find('[data-cy="success"]') .should("exist"); }); it("should be able to make a fail self evaluation", () => { - cy.get('[data-cy="test-lehrgang-lp-circle-analyse-lu-fahrzeug"]').click(); + cy.get('[data-cy="test-lehrgang-lp-circle-reisen-lu-reisen"]').click(); cy.makeSelfEvaluation([false, false]); - cy.get('[data-cy="test-lehrgang-lp-circle-analyse-lu-fahrzeug"]') + cy.get('[data-cy="test-lehrgang-lp-circle-reisen-lu-reisen"]') .find('[data-cy="fail"]') .should("exist"); }); it("should be able to make a mixed self evaluation", () => { - cy.get('[data-cy="test-lehrgang-lp-circle-analyse-lu-fahrzeug"]').click(); + cy.get('[data-cy="test-lehrgang-lp-circle-reisen-lu-reisen"]').click(); cy.makeSelfEvaluation([false, true]); - cy.get('[data-cy="test-lehrgang-lp-circle-analyse-lu-fahrzeug"]') + cy.get('[data-cy="test-lehrgang-lp-circle-reisen-lu-reisen"]') .find('[data-cy="fail"]') .should("exist"); });