import {getMinimalMe} from '../../../support/helpers'; const getOperations = ({readOnly, classReadOnly = false}) => ({ MeQuery: getMinimalMe({readOnly, classReadOnly}), NewsTeasers: { newsTeasers: { edges: [], }, }, }); describe('Read Only Banner', () => { beforeEach(() => { cy.setup(); }); it('is not shown', () => { cy.mockGraphqlOps({ operations: getOperations({readOnly: 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}), }); 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', () => { cy.mockGraphqlOps({ operations: getOperations({readOnly: false, classReadOnly: true}), }); cy.visit('/'); 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'); }); });