import mocks from '../../../fixtures/mocks'; import minimalModule from '../../../fixtures/module.minimal'; const getOperations = ({readOnly}) => ({ MeQuery: { me: { onboardingVisited: true, readOnly, isTeacher: true }, }, ModuleDetailsQuery: { module: { ...minimalModule } }, }); describe('Module Navigation - read only', () => { beforeEach(() => { cy.fakeLogin('nico.teacher', 'test'); cy.server(); cy.task('getSchema').then(schema => { cy.mockGraphql({ schema, mocks, }); }); cy.viewport('macbook-15'); }); it('is not shown', () => { cy.mockGraphqlOps({ operations: getOperations({readOnly: true}), }); cy.visit('module/module-slug'); cy.getByDataCy('module-navigation').should('exist'); cy.getByDataCy('module-teacher-menu').should('not.exist'); }); it('is shown', () => { cy.mockGraphqlOps({ operations: getOperations({readOnly: false}), }); cy.visit('module/module-slug'); cy.getByDataCy('module-navigation').should('exist'); cy.getByDataCy('module-teacher-menu').should('exist'); }); });