diff --git a/client/cypress/integration/frontend/read-only/banner.spec.js b/client/cypress/integration/frontend/read-only/banner.spec.js index 41ccc1f5..5b94554f 100644 --- a/client/cypress/integration/frontend/read-only/banner.spec.js +++ b/client/cypress/integration/frontend/read-only/banner.spec.js @@ -4,22 +4,11 @@ const getOperations = ({readOnly, classReadOnly = false}) => ({ MeQuery: getMinimalMe({readOnly, classReadOnly}), NewsTeasers: { newsTeasers: { - edges: [] - } - } + edges: [], + }, + }, }); -const checkReadOnly = (shouldBannerExist, text) => { - cy.visit('/'); - - cy.getByDataCy('start-page-heading').should('exist'); - if (shouldBannerExist) { - cy.getByDataCy('read-only-banner').should('exist').should('contain', text); - } else { - cy.getByDataCy('read-only-banner').should('not.exist'); - } -}; - describe('Read Only Banner', () => { beforeEach(() => { cy.setup(); @@ -29,19 +18,28 @@ describe('Read Only Banner', () => { cy.mockGraphqlOps({ operations: getOperations({readOnly: false}), }); - checkReadOnly(false); + + cy.visit('/'); + + cy.getByDataCy('start-page-heading').should('exist'); + cy.getByDataCy('read-only-banner').should('not.exist'); }); it('is shown for expired license', () => { cy.mockGraphqlOps({ operations: getOperations({readOnly: true}), }); - checkReadOnly(true, 'Lizenz'); - // cy.visit('/'); - // - // cy.getByDataCy('start-page-heading').should('exist'); - // cy.getByDataCy('read-only-banner').should('exist').should('contain', 'nicht mehr aktiv'); + cy.visit('/'); + + cy.getByDataCy('start-page-heading').should('exist'); + + cy.getByDataCy('read-only-banner').should('exist').should('contain', 'Lizenz'); + cy.getByDataCy('license-activation-link') + .should('exist') + .should('contain', 'Neuen Lizenzcode eingeben') + .click(); + cy.url().should('contain', 'license-activation'); }); it('is shown for inactive school class', () => { @@ -49,11 +47,11 @@ describe('Read Only Banner', () => { operations: getOperations({readOnly: false, classReadOnly: true}), }); - checkReadOnly(true, 'Klasse'); - // - // cy.visit('/'); + cy.visit('/'); - // cy.getByDataCy('start-page-heading').should('exist'); - // cy.getByDataCy('read-only-banner').should('exist').should('contain', 'nicht mehr aktiv'); + cy.getByDataCy('start-page-heading').should('exist'); + + cy.getByDataCy('read-only-banner').should('exist').should('contain', 'Klasse'); + cy.getByDataCy('license-activation-link').should('not.exist'); }); }); diff --git a/client/src/components/ReadOnlyBanner.vue b/client/src/components/ReadOnlyBanner.vue index 34e612da..d3a84608 100644 --- a/client/src/components/ReadOnlyBanner.vue +++ b/client/src/components/ReadOnlyBanner.vue @@ -5,13 +5,18 @@ v-if="me.readOnly || me.selectedClass.readOnly">

{{ readOnlyText }} Sie können Inhalte lesen, aber nicht - bearbeiten. + bearbeiten. Neuen Lizenzcode eingeben