@financial-times/spark-o-date
Version:
Spark React component library for Origami
63 lines (56 loc) • 1.86 kB
JavaScript
import React from 'react';
import { DateTime, DatePrinter } from './index.js';
import { render } from '@testing-library/react';
import '@testing-library/jest-dom';
describe('<DateTime />', () => {
it('renders a date', () => {
const { container } = render(<DateTime />);
expect(container.querySelector('time')).toBeTruthy();
});
it('adds a format', () => {
const { container } = render(<DateTime format="date-only" />);
expect(container.querySelector('time')).toBeTruthy();
expect(container.querySelector('time')).toHaveClass('o-date');
expect(container.querySelector('time')).toHaveAttribute(
'data-o-date-format'
);
expect(container.querySelector('time')).toHaveAttribute(
'data-o-date-format',
'date-only'
);
});
it('adds a dateTime', () => {
const { container } = render(<DateTime dateTime="2020-01-01T00:00:00Z" />);
expect(container.querySelector('time')).toBeTruthy();
expect(container.querySelector('time')).toHaveClass('o-date');
expect(container.querySelector('time')).toHaveAttribute('datetime');
expect(container.querySelector('time')).toHaveAttribute(
'datetime',
'2020-01-01T00:00:00Z'
);
});
it('adds a format and dateTime', () => {
const { container } = render(
<DateTime dateTime="2020-01-01T00:00:00Z" format="date-only" />
);
expect(container.querySelector('time')).toHaveAttribute(
'data-o-date-format',
'date-only'
);
});
});
describe('<DatePrinter />', () => {
fit('renders a datePrinter ', () => {
const { container } = render(
<DatePrinter format="time-ago-limit-24-hours" />
);
expect(container.querySelector('span')).toBeTruthy();
expect(container.querySelector('span')).toHaveAttribute(
'data-o-date-printer'
);
expect(container.querySelector('span')).toHaveAttribute(
'data-o-date-format',
'time-ago-limit-24-hours'
);
});
});