import React from 'react'; import { composeStories } from '@storybook/react-vite'; import { render as testRender } from '../../../vitest/render'; import * as stories from './List.stories'; const composedStories = composeStories(stories); describe('List Story Snapshots', () => { it('has tests for all stories', () => { const storyNames = Object.keys(composedStories); const testedStories = new Set([ 'Default', 'PlainList', 'PlainListDense', 'PlainValueList', 'CheckList', 'Advanced', 'AlignTop', 'AlignCenter', 'AlignBottom', 'ListWithBasicItem', ]); const untestedStories = storyNames.filter(name => !testedStories.has(name)); expect(untestedStories).toEqual([]); }); it('renders Default story', () => { const Story = composedStories.Default; const { container } = testRender(); expect(container).toMatchInlineSnapshot(`
`); }); it('renders PlainList story', () => { const Story = composedStories.PlainList; const { container } = testRender(); expect(container).toMatchInlineSnapshot(`
  • This is my lorem ipsum dolor sit ament 1
  • This is my lorem ipsum dolor sit ament, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua 2
  • This is my lorem ipsum dolor sit ament, consectetur adipiscing elit 3
  • This is my lorem ipsum dolor sit ament 4
  • This is my lorem ipsum dolor sit ament 5
  • This is my lorem ipsum dolor sit ament 6
`); }); it('renders PlainListDense story', () => { const Story = composedStories.PlainListDense; const { container } = testRender(); expect(container).toMatchInlineSnapshot(`
  • This is my lorem ipsum dolor sit ament 1
  • This is my lorem ipsum dolor sit ament, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua 2
  • This is my lorem ipsum dolor sit ament, consectetur adipiscing elit 3
  • This is my lorem ipsum dolor sit ament 4
  • This is my lorem ipsum dolor sit ament 5
  • This is my lorem ipsum dolor sit ament 6
`); }); it('renders PlainValueList story', () => { const Story = composedStories.PlainValueList; const { container } = testRender(); expect(container).toMatchInlineSnapshot(`
  • This is my lorem ipsum dolor sit ament 1

  • This is my lorem ipsum dolor sit ament, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua 2

  • This is my lorem ipsum dolor sit ament, consectetur adipiscing elit 3

  • This is my lorem ipsum dolor sit ament 4

  • This is my lorem ipsum dolor sit ament 5

  • This is my lorem ipsum dolor sit ament 6

`); }); it('renders CheckList story', () => { const Story = composedStories.CheckList; const { container } = testRender(); expect(container).toMatchInlineSnapshot(`
  • Item 1

    This is my lorem ipsum dolor sit ament 1

  • Item 2

    This is my lorem ipsum dolor sit ament, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua 2

  • Item 3

    This is my lorem ipsum dolor sit ament, consectetur adipiscing elit 3

  • Item 4

    This is my lorem ipsum dolor sit ament 4

  • Item 5

    This is my lorem ipsum dolor sit ament 5

  • Item 6

    This is my lorem ipsum dolor sit ament 6

`); }); it('renders Advanced story', () => { const Story = composedStories.Advanced; const { container } = testRender(); expect(container).toMatchInlineSnapshot(`
  • Item 1

    Icon and its color is passed via context

  • Item 2

    Icon and its color is passed via context

  • Item 3

    Icon and its color is passed via context

  • Item 4

    Heart icon, primary variant is defined by the item

  • Item 5

    Alert icon, secondary variant is defined by the item

  • Item 6

    Overriden by the item: icon placeholder padding, link is defined as children, ellipsis is disabled
  • Item 6

    No icon and no padding but with an action

`); }); it('renders AlignTop story', () => { const Story = composedStories.AlignTop; const { container } = testRender(); expect(container).toMatchInlineSnapshot(`
  • This is my lorem ipsum dolor sit ament 1
  • This is my lorem ipsum dolor sit ament, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua 2
  • This is my lorem ipsum dolor sit ament, consectetur adipiscing elit 3
  • This is my lorem ipsum dolor sit ament 4
  • This is my lorem ipsum dolor sit ament 5
  • This is my lorem ipsum dolor sit ament 6
`); }); it('renders AlignCenter story', () => { const Story = composedStories.AlignCenter; const { container } = testRender(); expect(container).toMatchInlineSnapshot(`
  • This is my lorem ipsum dolor sit ament 1
  • This is my lorem ipsum dolor sit ament, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua 2
  • This is my lorem ipsum dolor sit ament, consectetur adipiscing elit 3
  • This is my lorem ipsum dolor sit ament 4
  • This is my lorem ipsum dolor sit ament 5
  • This is my lorem ipsum dolor sit ament 6
`); }); it('renders AlignBottom story', () => { const Story = composedStories.AlignBottom; const { container } = testRender(); expect(container).toMatchInlineSnapshot(`
  • This is my lorem ipsum dolor sit ament 1
  • This is my lorem ipsum dolor sit ament, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua 2
  • This is my lorem ipsum dolor sit ament, consectetur adipiscing elit 3
  • This is my lorem ipsum dolor sit ament 4
  • This is my lorem ipsum dolor sit ament 5
  • This is my lorem ipsum dolor sit ament 6
`); }); it('renders ListWithBasicItem story', () => { const Story = composedStories.ListWithBasicItem; const { container } = testRender(); expect(container).toMatchInlineSnapshot(`
  • This is my lorem ipsum dolor sit ament 1
  • This is my lorem ipsum dolor sit ament 2
  • This is my lorem ipsum dolor sit ament 3
  • This is my lorem ipsum dolor sit ament 4
  • This is my lorem ipsum dolor sit ament 5
  • This is my lorem ipsum dolor sit ament 6
`); }); });