import React from 'react'
import { render } from '@testing-library/react'
import LiveBlogIndicator from './LiveBlogIndicator'
describe('LiveBlogIndicator component', () => {
// times are set to absolute in the datetime attribute of the time element, but relative (e.g. 1 month ago) in the text body
// therefore we have to set a specific time for 'now', otherwise snapshots will be out of date instantly
beforeAll(() => {
jest.useFakeTimers()
const fakeSystemTime = new Date('2024-11-15T10:48:03.442Z')
jest.setSystemTime(fakeSystemTime)
})
afterAll(() => {
jest.useRealTimers()
})
it('shows a live label and the last updated time when the live blog is active', () => {
const tenMinutesAgo = new Date(Date.now() - 1000 * 60 * 10)
const { container } = render(
)
expect(container).toMatchSnapshot()
})
it('does not show a label but does show the last updated time when the live blog is no longer active', () => {
const tenDaysAgo = new Date(Date.now() - 1000 * 60 * 60 * 24 * 10)
const { container } = render(
)
expect(container).toMatchSnapshot()
})
})