Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- storybook
- designpatterns
- css
- RTK
- 오블완
- ReactHooks
- component
- springboot
- 티스토리챌린지
- javascript
- React
- Chakra
- Spring
- go
- typescript
- satisfiles
- backend
- Gin
- JavaSpring
- java
- hook
- tanstackquery
- JPA
- react-hook-form
- Redux
- test
- frontend
- 웹애플리케이션서버
- golang
Archives
- Today
- Total
bkdragon's log
Storybook Interactions Portal Component 본문
Portal을 사용해서 렌더링하는 컴포넌트는 play 함수의 canvasElement 내에 없기 때문에 찾을 수 없다.
따라서 @storybook/test에서 제공하는 screen을 사용해줘야 한다.
import { expect, screen, waitFor, fireEvent, fn } from "@storybook/test";
export const Default: Story = {
name: "모달 창 기본",
args: {
onClose: fn(),
isOpen: true,
},
play: async ({ args, _ }) => {
await waitFor(() => {
expect(screen.getByTestId("close-button")).toBeInTheDocument();
});
const closeButton = screen.getByTestId("close-button");
fireEvent.click(closeButton);
expect(args.onClose).toHaveBeenCalledTimes(1);
},
};
이렇게 해야 버튼을 찾을 수 있다.
'React' 카테고리의 다른 글
Web Speech API (1) | 2024.11.26 |
---|---|
forwardRef (0) | 2024.11.20 |
Storybook Interactions (0) | 2024.11.16 |
children 을 함수해서 동적으로 스타일을 지정하기 (0) | 2024.11.14 |
드래그 가능한 모달창 만들기 (0) | 2024.11.11 |