aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/organisms/layout/cards-list.test.tsx
blob: c9d6ae73e0e2f77bb8e62e2a0d7d4131efb1e1d8 (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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
import { describe, expect, it } from '@jest/globals';
import { render, screen as rtlScreen } from '../../../../tests/utils';
import { CardsList, type CardsListItem } from './cards-list';

const items: CardsListItem[] = [
  {
    id: 'card-1',
    cover: {
      alt: 'card 1 picture',
      src: 'https://picsum.photos/640/480',
      width: 640,
      height: 480,
    },
    meta: [
      {
        id: 'categories',
        label: 'Categories',
        value: [
          { id: 'velit', value: 'Velit' },
          { id: 'ex', value: 'Ex' },
          { id: 'alias', value: 'Alias' },
        ],
      },
    ],
    tagline: 'Molestias ut error',
    title: 'Et alias omnis',
    url: '#',
  },
  {
    id: 'card-2',
    cover: {
      alt: 'card 2 picture',
      src: 'https://picsum.photos/640/480',
      width: 640,
      height: 480,
    },
    meta: [{ id: 'categories', label: 'Categories', value: 'Voluptas' }],
    tagline: 'Quod vel accusamus',
    title: 'Laboriosam doloremque mollitia',
    url: '#',
  },
  {
    id: 'card-3',
    cover: {
      alt: 'card 3 picture',
      src: 'https://picsum.photos/640/480',
      width: 640,
      height: 480,
    },
    meta: [
      {
        id: 'categories',
        label: 'Categories',
        value: [
          { id: 'quisquam', value: 'Quisquam' },
          { id: 'quia', value: 'Quia' },
          { id: 'sapiente', value: 'Sapiente' },
          { id: 'perspiciatis', value: 'Perspiciatis' },
        ],
      },
    ],
    tagline: 'Quo error eum',
    title: 'Magni rem nulla',
    url: '#',
  },
];

describe('CardsList', () => {
  it('renders a list of cards', () => {
    render(<CardsList items={items} titleLevel={2} />);
    expect(rtlScreen.getAllByRole('heading', { level: 2 })).toHaveLength(
      items.length
    );
  });
});