import { render, screen } from '@tests/utils'; import Pagination from './pagination'; const total = 50; const perPage = 10; describe('Pagination', () => { it('renders previous and next page links', () => { render(); expect( screen.getByRole('link', { name: /Previous page/i }) ).toBeInTheDocument(); expect( screen.getByRole('link', { name: /Next page/i }) ).toBeInTheDocument(); }); it('renders the page links except for the current one', () => { render( ); expect(screen.getAllByRole('link', { name: /Page / })).toHaveLength( total / perPage - 1 ); }); }); ta/cgit.png' alt='cgit logo'/> index : www.armandphilippot.com
The frontend of my personal website.Armand Philippot
aboutsummaryrefslogtreecommitdiffstats
blob: 25a1614f74dc7294c5ad93c0409b0fca6d92b8ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import { describe, expect, it } from '@jest/globals';
import { render, screen } from '../../../../tests/utils';
import { Tooltip } from './tooltip';

const title = 'A custom title';
const children =
  'Labore ullam delectus sit modi quam dolores. Ratione id sint aliquid facilis ipsum. Unde necessitatibus provident minus.';

describe('Tooltip', () => {
  it('renders a title and a body', () => {
    render(<Tooltip heading={title}>{children}</Tooltip>);

    expect(screen.getByText(title)).toBeInTheDocument();
    expect(screen.getByText(children)).toBeInTheDocument();
  });

  it('can render a hidden modal', () => {
    render(
      <Tooltip heading={title} isOpen={false}>
        {children}
      </Tooltip>
    );

    // Neither toBeVisible or toHaveStyle are working.
    //expect(screen.getByText(children)).not.toBeVisible();
    //expect(screen.getByText(children)).toHaveStyle({ visibility: 'hidden' });
    expect(screen.getByText(children)).toHaveClass('tooltip--hidden');
  });

  it('can render a visible modal', () => {
    render(
      <Tooltip heading={title} isOpen>
        {children}
      </Tooltip>
    );

    expect(screen.getByText(children)).toBeVisible();
    expect(screen.getByText(children)).toHaveStyle({ visibility: 'visible' });
  });
});