import { getMinimalMe } from '../../../support/helpers'; import minimalModule from '../../../fixtures/module.minimal'; const { me: minimalMe } = getMinimalMe({}); describe('Instruments on Module page', () => { beforeEach(() => { console.log('setting up'); cy.setup(); cy.mockGraphqlOps({ operations: { UpdateLastModule: { updateLastModule: { success: true, }, }, MeQuery: { me: minimalMe, }, ModuleDetailsQuery: { module: { ...minimalModule, slug: 'module-with-instrument', chapters: [ { title: 'Some Chapter', contentBlocks: [ { type: 'instrument', instrumentCategory: { id: 'category-id', name: 'Sprache & Kommunikation', }, title: 'Das Interview', contents: [ { type: 'basic_knowledge', value: { description: '
Ein Interview dient dazu, durch Befragung Informationen zu ermitteln. Bei journalistischen Interviews werden oft Expertinnen und Experten befragt, aber auch Personen.
', }, }, ], }, { type: 'normal', title: 'Normaler Block', instrumentCategory: null, contents: [ { type: 'text_block', value: { text: 'Some text, not an instrument', }, }, ], }, ], }, ], }, }, }, }); }); it('shows the correct instrument label', () => { cy.visit('module/module-with-instrument'); cy.getByDataCy('content-block') .first() .within(() => { cy.getByDataCy('instrument-label').should('contain', 'Instrumente - Sprache & Kommunikation'); }); cy.getByDataCy('content-block') .eq(1) .within(() => { cy.getByDataCy('instrument-label').should('not.exist'); }); // also check that other content blocks don't have the label }); });