Try to make cypress tests less flaky

This commit is contained in:
Daniel Egger 2022-09-14 16:13:37 +02:00
parent b7eb88e4d5
commit 5663fe1a74
2 changed files with 31 additions and 29 deletions

View File

@ -5,50 +5,62 @@ describe("circle page", () => {
cy.manageCommand("cypress_reset");
login("admin", "test");
cy.visit("/learn/versicherungsvermittlerin/analyse");
cy.visit("/learn/unit-test-lernpfad/unit-test-circle");
});
it("can open circle page", () => {
cy.get('[data-cy="circle-title"]').should("contain", "Analyse");
cy.get('[data-cy="circle-title"]').should("contain", "Unit-Test Circle");
});
it("can toggle learning content", () => {
cy.get('[data-cy="circle-title"]').should("contain", "Analyse");
cy.get('[data-cy="circle-title"]').should("contain", "Unit-Test Circle");
cy.get(
'[data-cy="versicherungsvermittlerin-circle-analyse-lc-ermittlung-des-kundenbedarfs"] > .cy-checkbox'
'[data-cy="unit-test-lernpfad-circle-unit-test-circle-lc-ermittlung-des-kundenbedarfs"] > .cy-checkbox'
).click();
cy.get(
'[data-cy="versicherungsvermittlerin-circle-analyse-lc-ermittlung-des-kundenbedarfs"] > .cy-checkbox-checked'
'[data-cy="unit-test-lernpfad-circle-unit-test-circle-lc-ermittlung-des-kundenbedarfs"] > .cy-checkbox-checked'
).should("have.class", "cy-checkbox-checked");
// completion data should still be there after reload
cy.reload();
cy.get(
'[data-cy="versicherungsvermittlerin-circle-analyse-lc-ermittlung-des-kundenbedarfs"] > .cy-checkbox-checked'
'[data-cy="unit-test-lernpfad-circle-unit-test-circle-lc-ermittlung-des-kundenbedarfs"] > .cy-checkbox-checked'
).should("have.class", "cy-checkbox-checked");
});
it("can open learning contents and complete them by continuing", () => {
cy.get(
'[data-cy="versicherungsvermittlerin-circle-analyse-lc-ermittlung-des-kundenbedarfs"]'
'[data-cy="unit-test-lernpfad-circle-unit-test-circle-lc-ermittlung-des-kundenbedarfs"]'
).click();
cy.get('[data-cy="ln-title"]').should(
"contain",
"Ermittlung des Kundenbedarfs"
);
cy.get('[data-cy="complete-and-continue"]').click();
cy.get('[data-cy="complete-and-continue"]').click();
cy.get('[data-cy="complete-and-continue"]').click();
cy.get('[data-cy="ln-title"]').should(
"contain",
"Kundenbedürfnisse erkennen"
);
cy.get('[data-cy="close-learning-content"]').click();
cy.get('[data-cy="complete-and-continue"]').click();
cy.get('[data-cy="ln-title"]').should(
"contain",
"Was braucht eine Familie"
);
cy.get('[data-cy="complete-and-continue"]').click();
cy.get(
'[data-cy="versicherungsvermittlerin-circle-analyse-lc-ermittlung-des-kundenbedarfs"] > .cy-checkbox-checked'
'[data-cy="unit-test-lernpfad-circle-unit-test-circle-lc-ermittlung-des-kundenbedarfs"] > .cy-checkbox-checked'
).should("have.class", "cy-checkbox-checked");
cy.get(
'[data-cy="versicherungsvermittlerin-circle-analyse-lc-kundenanalyse"] > .cy-checkbox-checked'
'[data-cy="unit-test-lernpfad-circle-unit-test-circle-lc-kundenbedürfnisse-erkennen"] > .cy-checkbox-checked'
).should("have.class", "cy-checkbox-checked");
cy.get(
'[data-cy="versicherungsvermittlerin-circle-analyse-lc-kundenbedürfnisse-erkennen"] > .cy-checkbox-checked'
'[data-cy="unit-test-lernpfad-circle-unit-test-circle-lc-was-braucht-eine-familie"] > .cy-checkbox-checked'
).should("have.class", "cy-checkbox-checked");
});
@ -58,7 +70,7 @@ describe("circle page", () => {
cy.get('[data-cy="ln-title"]').should(
"contain",
'Einleitung Circle "Analyse"'
'Einleitung Circle "Unit-Test Circle"'
);
cy.get('[data-cy="complete-and-continue"]').click();
@ -72,7 +84,7 @@ describe("circle page", () => {
it("can open learning content by url", () => {
cy.visit(
"/learn/versicherungsvermittlerin/analyse/ermittlung-des-kundenbedarfs"
"/learn/unit-test-lernpfad/unit-test-circle/ermittlung-des-kundenbedarfs"
);
cy.get('[data-cy="ln-title"]').should(
"contain",

View File

@ -4,7 +4,7 @@ from wagtail.models import Site, Page
from vbv_lernwelt.core.admin import User
from vbv_lernwelt.learnpath.tests.learning_path_factories import LearningPathFactory, TopicFactory, CircleFactory, \
LearningSequenceFactory, LearningContentFactory, VideoBlockFactory, PodcastBlockFactory, CompetenceBlockFactory, \
LearningSequenceFactory, LearningContentFactory, CompetenceBlockFactory, \
ExerciseBlockFactory, LearningUnitFactory, LearningUnitQuestionFactory
@ -33,11 +33,7 @@ def create_circle_children(circle, title):
title=f'Einleitung Circle "{title}"',
parent=circle,
minutes=15,
contents=[('video', VideoBlockFactory(
url='https://www.youtube.com/embed/qhPIfxS2hvI',
description='In dieser Circle zeigt dir ein Fachexperte anhand von Kundensituationen, wie du erfolgreich'
'den Kundenbedarf ermitteln, analysieren, priorisieren und anschliessend zusammenfassen kannst.'
))]
contents=[('competence', CompetenceBlockFactory())]
)
LearningSequenceFactory(title='Beobachten', parent=circle, icon='it-icon-ls-watch')
@ -57,10 +53,7 @@ def create_circle_children(circle, title):
title='Ermittlung des Kundenbedarfs',
parent=circle,
minutes=30,
contents=[('podcast', PodcastBlockFactory(
description='Die Ermittlung des Kundenbedarfs muss in einem eingehenden Gespräch herausgefunden werden. Höre dazu auch diesen Podcast an.',
url='https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/325190984&color=%23ff5500&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false&show_teaser=true&visual=true',
))]
contents=[('competence', CompetenceBlockFactory())]
)
LearningContentFactory(
title='Kundenbedürfnisse erkennen',
@ -138,10 +131,7 @@ def create_simple_test_learning_path(user=None, skip_locales=True):
title='Einleitung Circle "Basis"',
parent=circle_basis,
minutes=15,
contents=[('video', VideoBlockFactory(
url='https://www.youtube.com/embed/qhPIfxS2hvI',
description='Basis Video'
))]
contents=[('competence', CompetenceBlockFactory())]
)
LearningSequenceFactory(title='Beenden', parent=circle_basis, icon='it-icon-ls-end')
LearningContentFactory(