skillbox/client/cypress/integration/e2e/new-student.spec.js

58 lines
1.4 KiB
JavaScript

import {mockUpdateOnboardingProgress} from '../../support/helpers';
const me = require('../../fixtures/me.new-student.json');
describe('New student', () => {
before(() => {
cy.server();
cy.task('getSchema').then(schema => {
cy.mockGraphql({
schema,
});
});
});
// todo: unskip me
it('shows "Enter Code" page and adds the user to a class', () => {
cy.apolloLogin('hansli', 'test');
const name = 'KF1A';
const id = 'U2Nob29sQ2xhc3NOb2RlOjI=';
cy.mockGraphqlOps({
operations: {
MeQuery: me,
JoinClass: {
joinClass: {
success: true,
schoolClass: {
id,
name,
},
},
},
MySchoolClassQuery: {
me: {
...me.me,
selectedClass: {
name,
id,
members: [],
},
},
},
...mockUpdateOnboardingProgress(),
},
});
cy.visit('/');
cy.get('[data-cy=join-form-title]').should('contain', 'Einer Klasse beitreten');
cy.get('[data-cy=join-code-input]').type('XXXX');
cy.get('[data-cy=join-form-confirm]').click();
cy.getByDataCy('onboarding-skip-link').click();
cy.get('[data-cy=user-widget-avatar]').click();
cy.get('[data-cy=class-list-link]').click();
cy.get('[data-cy=group-list-title]').should('contain', 'Klassenliste');
});
});