Update cypress test

This commit is contained in:
Ramon Wenger 2021-08-11 17:10:46 +02:00
parent 1a928a824a
commit e490b58e96
1 changed files with 20 additions and 52 deletions

View File

@ -21,16 +21,7 @@ const selectedClass = {
describe('Class Management', () => { describe('Class Management', () => {
beforeEach(() => { beforeEach(() => {
cy.server(); cy.setup();
cy.task('getSchema').then(schema => {
cy.mockGraphql({
schema,
});
});
cy.viewport('macbook-15');
cy.fakeLogin('rachel.green', 'test');
}); });
// fixme: cache misbehaves with mequery, but only for test // fixme: cache misbehaves with mequery, but only for test
@ -114,43 +105,30 @@ describe('Class Management', () => {
// // // //
// }); // });
it('should not be able to leave class', () => {
cy.mockGraphqlOps({
operations: {
MeQuery: me,
MySchoolClassQuery: selectedClass,
},
});
cy.visit('/me/my-class');
cy.get('[data-cy=group-list-member]').should('have.length', 2);
cy.get('[data-cy=remove-from-class]').should('have.length', 0);
cy.get('[data-cy=add-to-class]').should('have.length', 0);
});
it('should leave and re-join class', () => { it('should leave and re-join class', () => {
const {me: teacher} = getMinimalMe({}); const {me: teacher} = getMinimalMe({});
const teacherSelectedClass = {
me: {
...selectedClass.me,
isTeacher: true,
},
};
cy.mockGraphqlOps({ cy.mockGraphqlOps({
operations: { operations: {
MeQuery: teacher, MeQuery: {
me: teacher
},
AddRemoveMember: { AddRemoveMember: {
addRemoveMember: { addRemoveMember: {
success: true, success: true,
}, },
}, },
MySchoolClassQuery: teacherSelectedClass, MySchoolClassQuery: {
me: {
...teacher,
selectedClass
}
},
}, },
}); });
cy.visit('/me/my-class'); cy.visit('/me/my-class');
cy.get('[data-cy=active-class-members-list]').within(() => { cy.get('[data-cy=active-class-members-list]').within(() => {
cy.get('[data-cy=school-class-member]').should('have.length', 2); cy.get('[data-cy=group-list-member]').should('have.length', 2);
}); });
cy.get('[data-cy=inactive-class-members-list]').should('not.exist'); cy.get('[data-cy=inactive-class-members-list]').should('not.exist');
@ -159,16 +137,16 @@ describe('Class Management', () => {
cy.get('[data-cy=modal-save-button]').click(); cy.get('[data-cy=modal-save-button]').click();
cy.get('[data-cy=active-class-members-list]').within(() => { cy.get('[data-cy=active-class-members-list]').within(() => {
cy.get('[data-cy=school-class-member]').should('have.length', 1); cy.get('[data-cy=group-list-member]').should('have.length', 1);
}); });
cy.get('[data-cy=inactive-class-members-list]').within(() => { cy.get('[data-cy=inactive-class-members-list]').within(() => {
cy.get('[data-cy=school-class-member]').should('have.length', 1); cy.get('[data-cy=group-list-member]').should('have.length', 1);
}); });
cy.get('[data-cy=add-to-class]').first().click(); cy.get('[data-cy=add-to-class]').first().click();
cy.get('[data-cy=active-class-members-list]').within(() => { cy.get('[data-cy=active-class-members-list]').within(() => {
cy.get('[data-cy=school-class-member]').should('have.length', 2); cy.get('[data-cy=group-list-member]').should('have.length', 2);
}); });
cy.get('[data-cy=inactive-class-members-list]').should('not.exist'); cy.get('[data-cy=inactive-class-members-list]').should('not.exist');
}); });
@ -197,26 +175,16 @@ describe('Class Management', () => {
describe('Teacher Class Management', () => { describe('Teacher Class Management', () => {
beforeEach(() => { beforeEach(() => {
cy.server(); cy.setup();
cy.task('getSchema').then(schema => {
cy.mockGraphql({
schema,
});
});
cy.viewport('macbook-15');
cy.fakeLogin('ross.geller', 'test');
}); });
it('changes class name', () => { it('changes class name', () => {
let className = 'Gotta have class'; let className = 'Gotta have class';
const {me: teacher} = getMinimalMe({});
let localMe = { let localMe = {
me: { me: teacher
...me.me,
isTeacher: true,
},
}; };
cy.mockGraphqlOps({ cy.mockGraphqlOps({
@ -224,8 +192,8 @@ describe('Teacher Class Management', () => {
MeQuery: localMe, MeQuery: localMe,
MySchoolClassQuery: { MySchoolClassQuery: {
me: { me: {
...selectedClass.me, ...teacher,
isTeacher: true, selectedClass,
}, },
}, },
UpdateSchoolClass: { UpdateSchoolClass: {