@eureca/eureca-ui
Version:
UI component library of Eureca's user and admin apps
79 lines (68 loc) • 2.04 kB
JavaScript
import React from 'react';
import { OpportunityCardUser } from '../user-opportunity';
import { render } from '@testing-library/react';
import { subDays, addDays, format } from 'date-fns';
const pastDate = subDays(new Date(), 10);
const futureDate = addDays(new Date(), 10);
function renderCard({ date, progress }) {
return render(
<OpportunityCardUser
id={33}
title="título"
organization="organização"
type="tipo"
date={date}
progress={progress}
currentTrack="trilha atual"
image="image"
data-testid="card-testid"
/>
);
}
describe('User Home card', () => {
it('translate a finished track', () => {
const { getByText } = renderCard({
progress: 33,
date: pastDate,
});
const text = getByText('Encerrado');
expect(text).toBeDefined();
});
it('translate a finished future track', () => {
const { getByText } = renderCard({
date: pastDate,
});
const text = getByText('Inscrições encerradas');
expect(text).toBeDefined();
});
it('translate a unfinished track', () => {
const { getByText } = renderCard({
progress: 30,
date: new Date(),
});
const text = getByText('Encerra hoje');
expect(text).toBeDefined();
});
it('translate a track that ends subscription today', () => {
const { getByText } = renderCard({
date: new Date(),
});
const text = getByText('Último dia para se inscrever');
expect(text).toBeDefined();
});
it('translate a track that is about to end', () => {
const { getByText } = renderCard({
progress: 30,
date: futureDate,
});
const text = getByText('Faltam 9 dias para encerrar a Trilha trilha atual');
expect(text).toBeDefined();
});
it('translate a that is about to end subscription', async () => {
const { getByText } = renderCard({
date: futureDate,
});
const text = getByText(`Inscrições até ${format(futureDate, 'dd/MM/yyyy')}`);
expect(text).toBeDefined();
});
});