89 lines
2.1 KiB
TypeScript
89 lines
2.1 KiB
TypeScript
import { assertStartPage } from '../../../support/helpers';
|
|
|
|
const NewsTeasers = {
|
|
newsTeasers: [],
|
|
};
|
|
|
|
describe('Onboarding', () => {
|
|
beforeEach(() => {
|
|
cy.setup();
|
|
});
|
|
|
|
it('shows the onboarding steps and finishes them', () => {
|
|
let onboardingVisited = false;
|
|
cy.mockGraphqlOps({
|
|
operations: {
|
|
MeQuery: () => ({
|
|
me: {
|
|
onboardingVisited,
|
|
},
|
|
}),
|
|
UpdateOnboardingProgress: () => {
|
|
onboardingVisited = true;
|
|
return {
|
|
updateOnboardingProgress: {
|
|
success: true,
|
|
},
|
|
};
|
|
},
|
|
NewsTeasers,
|
|
},
|
|
});
|
|
|
|
cy.visit('/');
|
|
assertStartPage(true);
|
|
cy.get('[data-cy=onboarding-next-link]').click();
|
|
cy.getByDataCy('onboarding-heading').should('contain.text', 'Ihr Lernbereich');
|
|
cy.get('[data-cy=onboarding-next-link]').click();
|
|
cy.getByDataCy('onboarding-heading').should('contain.text', 'Ihr Bereich für Zusammenarbeit');
|
|
cy.get('[data-cy=onboarding-next-link]').click();
|
|
cy.getByDataCy('onboarding-heading').should('contain.text', 'Ihr persönlicher Bereich');
|
|
cy.get('[data-cy=onboarding-next-link]').click();
|
|
assertStartPage(false);
|
|
cy.wait('@NewsTeasers');
|
|
});
|
|
|
|
it('shows the onboarding steps and skips them', () => {
|
|
let onboardingVisited = false;
|
|
cy.mockGraphqlOps({
|
|
operations: {
|
|
MeQuery: {
|
|
me: {
|
|
onboardingVisited,
|
|
},
|
|
},
|
|
UpdateOnboardingProgress: () => {
|
|
onboardingVisited = true;
|
|
return {
|
|
updateOnboardingProgress: {
|
|
success: true,
|
|
},
|
|
};
|
|
},
|
|
NewsTeasers,
|
|
},
|
|
});
|
|
|
|
cy.visit('/');
|
|
assertStartPage(true);
|
|
cy.getByDataCy('onboarding-skip-link').click();
|
|
assertStartPage(false);
|
|
cy.wait('@NewsTeasers');
|
|
});
|
|
|
|
it('does not show the onboarding', () => {
|
|
cy.mockGraphqlOps({
|
|
operations: {
|
|
MeQuery: {
|
|
me: {},
|
|
},
|
|
NewsTeasers,
|
|
},
|
|
});
|
|
|
|
cy.visit('/');
|
|
assertStartPage(false);
|
|
cy.wait('@NewsTeasers');
|
|
});
|
|
});
|