From 53b5102114b4c7fa1b4057ce2216bb8df4ab924e Mon Sep 17 00:00:00 2001 From: Ramon Wenger Date: Wed, 4 Aug 2021 15:18:01 +0200 Subject: [PATCH] Remove module teacher navigation when class inactive --- .../read-only/read-only-navigation.spec.js | 51 +++++++++---------- .../components/modules/ModuleNavigation.vue | 2 +- 2 files changed, 26 insertions(+), 27 deletions(-) diff --git a/client/cypress/integration/frontend/read-only/read-only-navigation.spec.js b/client/cypress/integration/frontend/read-only/read-only-navigation.spec.js index 24649cf5..6ad3f05f 100644 --- a/client/cypress/integration/frontend/read-only/read-only-navigation.spec.js +++ b/client/cypress/integration/frontend/read-only/read-only-navigation.spec.js @@ -1,43 +1,42 @@ import minimalModule from '../../../fixtures/module.minimal'; +import {getMinimalMe} from '../../../support/helpers'; -const getOperations = ({readOnly}) => ({ - MeQuery: { - me: { - onboardingVisited: true, - readOnly, - isTeacher: true - }, - }, +const getOperations = ({readOnly, classReadOnly = false}) => ({ + MeQuery: getMinimalMe({readOnly, classReadOnly}), ModuleDetailsQuery: { module: { - ...minimalModule - } + ...minimalModule, + }, }, }); +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 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}), - }); + moduleNavigationTest({readOnly: false, displayMenu: true}); + }); - cy.visit('module/module-slug'); + it('is not shown when no valid license', () => { + moduleNavigationTest({readOnly: true, displayMenu: false}); + }); - cy.getByDataCy('module-navigation').should('exist'); - cy.getByDataCy('module-teacher-menu').should('exist'); + it('is not shown when inactive school class', () => { + moduleNavigationTest({readOnly: false, classReadOnly: true, displayMenu: false}); }); }); diff --git a/client/src/components/modules/ModuleNavigation.vue b/client/src/components/modules/ModuleNavigation.vue index 5be75281..6be21406 100644 --- a/client/src/components/modules/ModuleNavigation.vue +++ b/client/src/components/modules/ModuleNavigation.vue @@ -44,7 +44,7 @@