import minimalModule from '../../../fixtures/module.minimal'; import {getMinimalMe} from '../../../support/helpers'; const getOperations = ({readOnly, classReadOnly = false}) => ({ MeQuery: getMinimalMe({readOnly, classReadOnly}), ModuleDetailsQuery: { module: { ...minimalModule, }, }, UpdateLastModule: {} }); const moduleNavigationTest = ({readOnly, classReadOnly = false, displayMenu}) => { cy.mockGraphqlOps({ operations: getOperations({readOnly, classReadOnly}), }); const shouldMenuExist = displayMenu ? 'exist' : 'not.exist'; cy.visit('module/module-slug'); cy.getByDataCy('module-navigation').should('exist'); cy.getByDataCy('module-teacher-menu').should(shouldMenuExist); }; describe('Module Navigation - read only', () => { beforeEach(() => { cy.setup(); }); it('is shown', () => { moduleNavigationTest({readOnly: false, displayMenu: true}); }); it('is not shown when no valid license', () => { moduleNavigationTest({readOnly: true, displayMenu: false}); }); it('is not shown when inactive school class', () => { moduleNavigationTest({readOnly: false, classReadOnly: true, displayMenu: false}); }); });