60 lines
1.4 KiB
JavaScript
60 lines
1.4 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.fakeLogin('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: []
|
|
}
|
|
}
|
|
},
|
|
UpdateOnboardingProgress: {
|
|
updateOnboardingProgress: {
|
|
success: true
|
|
}
|
|
}
|
|
}
|
|
});
|
|
|
|
cy.visit('/');
|
|
cy.get('[data-cy=join-class-title]').should('contain', 'Einer Klasse beitreten');
|
|
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');
|
|
});
|
|
});
|