skillbox/client/cypress/e2e/frontend/read-only/banner.spec.js

58 lines
1.4 KiB
JavaScript

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');
});
});