mirror of
https://github.com/storybookjs/storybook.git
synced 2025-04-09 00:19:13 +08:00
27 lines
1011 B
Plaintext
27 lines
1011 B
Plaintext
```ts
|
|
// Button.test.ts
|
|
import { test, expect } from '@jest/globals';
|
|
import { render, screen } from '@testing-library/vue';
|
|
import { composeStories } from '@storybook/vue3';
|
|
|
|
// Import all stories and the component annotations from the stories file
|
|
import * as stories from './Button.stories';
|
|
|
|
// Every component that is returned maps 1:1 with the stories,
|
|
// but they already contain all annotations from story, meta, and project levels
|
|
const { Primary, Secondary } = composeStories(stories);
|
|
|
|
test('renders primary button with default args', () => {
|
|
render(Primary);
|
|
const buttonElement = screen.getByText('Text coming from args in stories file!');
|
|
expect(buttonElement).not.toBeNull();
|
|
});
|
|
|
|
test('renders primary button with overriden props', () => {
|
|
// You can override props and they will get merged with values from the story's args
|
|
render(Primary, { props: { label: 'Hello world' } });
|
|
const buttonElement = screen.getByText(/Hello world/i);
|
|
expect(buttonElement).not.toBeNull();
|
|
});
|
|
```
|