/* eslint-disable @typescript-eslint/no-explicit-any */ import React from 'react' import { render, screen } from '@testing-library/react' import Topper from './index' describe('Topper component', () => { const topper = { __typename: 'OpinionTopper', headline: 'Test headline', backgroundColour: 'paper', columnists: [ { prefLabel: 'Jane Doe', }, ], headshot: 'https://www.ft.com/__origami/service/image/v2/images/raw/test-headshot.jpg', } it('renders with byline (shows columnist and headshot)', () => { const { asFragment } = render( ) expect(asFragment()).toMatchSnapshot() }) it('hides columnist and headshot when byline is missing', () => { const { asFragment } = render( ) expect(asFragment()).toMatchSnapshot() }) it('does not render topic tags or follow controls when partner topper concepts are suppressed', () => { const FollowButtonSlot = jest.fn(() => ) const partnerContent = { __typename: 'Article', title: 'Partner content headline', clientName: 'Partner client', topper: { __typename: 'BasicTopper', headline: 'Partner content headline', backgroundColour: 'paper', displayConcept: null, genreConcept: null, headerSlot: { type: 'partner-content' }, }, } const { container, queryByText } = render( ) expect(screen.getByText('Partner Content')).toBeTruthy() expect(container.querySelector('.o-topper__topic')).toBeNull() expect(queryByText('Follow topic')).toBeNull() expect(FollowButtonSlot).not.toHaveBeenCalled() }) })