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

55 lines
1.3 KiB
JavaScript

const schema = require('../fixtures/schema.json');
const me = require('../fixtures/me.new-student.json');
describe('New student', () => {
it('shows "Enter Code" page and adds the user to a class', () => {
cy.server();
cy.mockGraphql({
schema: schema,
});
cy.apolloLogin('hansli', 'test');
const __typename = 'SchoolClassNode';
const name = 'KF1A';
const id = 'U2Nob29sQ2xhc3NOb2RlOjI=';
cy.mockGraphqlOps({
operations: {
MeQuery: me,
JoinClass: {
joinClass: {
success: true,
schoolClass: {
id,
name,
__typename
}
}
},
MySchoolClassQuery: {
me: {
...me.me,
selectedClass: {
__typename,
name,
id,
members: []
}
}
}
}
});
cy.visit('/');
cy.get('[data-cy=join-class-title]').should('contain', 'Zugangscode');
cy.get('[data-cy=input-class-code]').type('XXXX');
cy.get('[data-cy=join-class]').click();
cy.skipOnboarding();
cy.get('[data-cy=user-widget-avatar]').click();
cy.get('[data-cy=class-list-link]').click();
cy.get('[data-cy=class-list-title]').should('contain', 'Klassenliste');
});
});