Add test for read only mode in room

This commit is contained in:
Ramon Wenger 2021-07-27 17:41:43 +02:00
parent 9dbddac078
commit 462348dd32
3 changed files with 71 additions and 12 deletions

View File

@ -0,0 +1,70 @@
import mocks from '../../../fixtures/mocks';
const SELECTED_CLASS_ID = 'selectedClassId';
const getOperations = ({readOnly}) => ({
MeQuery: {
me: {
onboardingVisited: true,
readOnly,
isTeacher: true,
selectedClass: {
id: SELECTED_CLASS_ID,
},
},
},
RoomsQuery: {
rooms: {
edges: [
{
node: {
id: '',
slug: '',
title: 'some room',
entryCount: 3,
appearance: 'red',
description: 'some description',
schoolClass: {
id: SELECTED_CLASS_ID,
name: 'bla',
},
},
},
],
},
},
});
Cypress.Commands.add('checkRoomReadOnly', (readOnly) => {
cy.mockGraphqlOps({
operations: getOperations({readOnly}),
});
const exist = readOnly ? 'not.exist' : 'exist';
cy.visit('rooms');
cy.log('visit');
cy.get('.room-widget').should('exist');
cy.getByDataCy('add-room').should(exist);
});
describe('Room Team Management - Read only', () => {
beforeEach(() => {
cy.fakeLogin('nino.teacher', 'test');
cy.server();
cy.viewport('macbook-15');
cy.task('getSchema').then(schema => {
cy.mockGraphql({
schema,
mocks,
});
});
});
it('can edit room', () => {
cy.checkRoomReadOnly(false);
});
it('can not edit room', () => {
cy.checkRoomReadOnly(true);
});
});

View File

@ -63,20 +63,9 @@ describe('School Class and Team Management - Read only', () => {
it('can see menu items', () => {
cy.checkSchoolClassTeamReadOnly(false);
// cy.visit('me/class');
// cy.getByDataCy('group-list-name').should('exist').should('contain', selectedClassName);
// cy.getByDataCy('show-code-button').should('exist');
// cy.getByDataCy('edit-group-name-link').should('exist');
// cy.openSidebar();
// cy.getByDataCy('class-selection').click();
// cy.getByDataCy('current-class-name').should('exist');
// cy.getByDataCy('create-class-link').should('exist');
});
it('can not see menu items', () => {
// cy.mockGraphqlOps({
// operations: getOperations({readOnly: true}),
// });
cy.checkSchoolClassTeamReadOnly(true);
});
});

View File

@ -44,7 +44,7 @@
return this.me.selectedClass.id;
},
canAddRoom() {
return this.me.permissions.includes('users.can_manage_school_class_content');
return this.me.isTeacher && !this.me.readOnly;
}
},