1234567891011121314151617181920212223242526272829303132 |
- import type { Meta, StoryObj } from '@storybook/react';
- import { within, userEvent, expect } from '@storybook/test';
- import { Page } from './Page';
- const meta = {
- title: 'Example/Page',
- component: Page,
- parameters: {
- // More on how to position stories at: https://storybook.js.org/docs/configure/story-layout
- layout: 'fullscreen',
- },
- } satisfies Meta<typeof Page>;
- export default meta;
- type Story = StoryObj<typeof meta>;
- export const LoggedOut: Story = {};
- // More on interaction testing: https://storybook.js.org/docs/writing-tests/interaction-testing
- export const LoggedIn: Story = {
- play: async ({ canvasElement }) => {
- const canvas = within(canvasElement);
- const loginButton = canvas.getByRole('button', { name: /Log in/i });
- await expect(loginButton).toBeInTheDocument();
- await userEvent.click(loginButton);
- await expect(loginButton).not.toBeInTheDocument();
- const logoutButton = canvas.getByRole('button', { name: /Log out/i });
- await expect(logoutButton).toBeInTheDocument();
- },
- };
|