From 8ff49dc3444f2a76ff038160dfd689250c7029b1 Mon Sep 17 00:00:00 2001
From: MadCcc <1075746765@qq.com>
Date: Mon, 18 Jul 2022 11:49:24 +0800
Subject: [PATCH 1/2] test: fix test
---
docs/examples/basic.tsx | 2 ++
package.json | 1 +
tests/picker.spec.tsx | 12 +++++-------
tests/range.spec.tsx | 19 ++++++-------------
4 files changed, 14 insertions(+), 20 deletions(-)
diff --git a/docs/examples/basic.tsx b/docs/examples/basic.tsx
index d2d346f25..b737d8480 100644
--- a/docs/examples/basic.tsx
+++ b/docs/examples/basic.tsx
@@ -52,6 +52,8 @@ export default () => {
allowClear
showToday
renderExtraFooter={() => 'extra'}
+ open
+ onOpenChange={() => console.log('Open')}
/>
diff --git a/package.json b/package.json
index ce53aa998..4e9383379 100644
--- a/package.json
+++ b/package.json
@@ -51,6 +51,7 @@
"node": ">=8.x"
},
"devDependencies": {
+ "@testing-library/react": "^12",
"@types/classnames": "^2.2.9",
"@types/enzyme": "^3.10.3",
"@types/jest": "^26.0.0",
diff --git a/tests/picker.spec.tsx b/tests/picker.spec.tsx
index c4d82ddaf..a42c197b1 100644
--- a/tests/picker.spec.tsx
+++ b/tests/picker.spec.tsx
@@ -8,6 +8,7 @@ import moment from 'moment';
import type { Moment } from 'moment';
import type { PanelMode, PickerMode } from '../src/interface';
import { mount, getMoment, isSame, MomentPicker } from './util/commonUtil';
+import { fireEvent, render } from '@testing-library/react';
describe('Picker.Basic', () => {
beforeAll(() => {
@@ -125,17 +126,14 @@ describe('Picker.Basic', () => {
it('fixed open need repeat trigger onOpenChange', () => {
jest.useFakeTimers();
const onOpenChange = jest.fn();
- mount();
+ render();
+ expect(onOpenChange).toHaveBeenCalledTimes(0);
for (let i = 0; i < 10; i += 1) {
- const clickEvent = new Event('mousedown');
- Object.defineProperty(clickEvent, 'target', {
- get: () => document.body,
- });
act(() => {
- window.dispatchEvent(clickEvent);
+ fireEvent.mouseDown(document.body);
});
- expect(onOpenChange).toHaveBeenCalledTimes(i + 1);
+ expect(onOpenChange).toHaveBeenCalledTimes(1);
}
act(() => {
jest.runAllTimers();
diff --git a/tests/range.spec.tsx b/tests/range.spec.tsx
index 70c597e50..15fb77cfe 100644
--- a/tests/range.spec.tsx
+++ b/tests/range.spec.tsx
@@ -9,6 +9,7 @@ import type { Wrapper } from './util/commonUtil';
import { mount, getMoment, isSame, MomentRangePicker } from './util/commonUtil';
import zhCN from '../src/locale/zh_CN';
import type { PickerMode } from '../src/interface';
+import { fireEvent, render } from '@testing-library/react';
describe('Picker.Range', () => {
function matchValues(wrapper: Wrapper, value1: string, value2: string) {
@@ -693,23 +694,15 @@ describe('Picker.Range', () => {
it('fixed open need repeat trigger onOpenChange', () => {
jest.useFakeTimers();
const onOpenChange = jest.fn();
- const wrapper = mount();
+ render();
- for (let i = 0; i < 10; i += 1) {
- const clickEvent = new Event('mousedown');
- Object.defineProperty(clickEvent, 'target', {
- get: () => document.body,
- });
+ expect(onOpenChange).toHaveBeenCalledTimes(0);
- const current = onOpenChange.mock.calls.length;
+ for (let i = 0; i < 10; i += 1) {
act(() => {
- window.dispatchEvent(clickEvent);
- wrapper.find('input').first().simulate('blur');
+ fireEvent.mouseDown(document.body);
});
- const next = onOpenChange.mock.calls.length;
-
- // Maybe not good since onOpenChange trigger twice
- expect(current < next).toBeTruthy();
+ expect(onOpenChange).toHaveBeenCalledTimes(1);
}
act(() => {
jest.runAllTimers();
From b353c795add76519a60d8c8d3f1d7a5c200460cd Mon Sep 17 00:00:00 2001
From: MadCcc <1075746765@qq.com>
Date: Mon, 18 Jul 2022 11:51:20 +0800
Subject: [PATCH 2/2] chore: code clean
---
docs/examples/basic.tsx | 2 --
1 file changed, 2 deletions(-)
diff --git a/docs/examples/basic.tsx b/docs/examples/basic.tsx
index b737d8480..d2d346f25 100644
--- a/docs/examples/basic.tsx
+++ b/docs/examples/basic.tsx
@@ -52,8 +52,6 @@ export default () => {
allowClear
showToday
renderExtraFooter={() => 'extra'}
- open
- onOpenChange={() => console.log('Open')}
/>