Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test: primitive data types #2053

Merged
merged 7 commits into from
Feb 16, 2023
8 changes: 4 additions & 4 deletions packages/hooks/src/createUpdateEffect/__tests__/index.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ describe('createUpdateEffect', () => {
mountedState = 2;
}),
);
expect(mountedState).toEqual(1);
expect(mountedState).toBe(1);
hook.rerender();
expect(mountedState).toEqual(2);
expect(mountedState).toBe(2);
});

it('should work for useLayoutEffect', () => {
Expand All @@ -26,8 +26,8 @@ describe('createUpdateEffect', () => {
mountedState = 2;
}),
);
expect(mountedState).toEqual(1);
expect(mountedState).toBe(1);
hook.rerender();
expect(mountedState).toEqual(2);
expect(mountedState).toBe(2);
});
});
15 changes: 8 additions & 7 deletions packages/hooks/src/createUseStorageState/__tests__/index.test.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { act, renderHook } from '@testing-library/react';
import { IFuncUpdater, createUseStorageState } from '../index';
import type { IFuncUpdater } from '../index';
import { createUseStorageState } from '../index';

class TestStorage implements Storage {
[name: string]: any;
Expand Down Expand Up @@ -64,29 +65,29 @@ describe('useStorageState', () => {

it('should get defaultValue for a given key', () => {
const hook = setUp({ key: 'key1', defaultValue: 'value1' });
expect(hook.result.current.state).toEqual('value1');
expect(hook.result.current.state).toBe('value1');

hook.rerender({ key: 'key2', defaultValue: 'value2' });
expect(hook.result.current.state).toEqual('value2');
expect(hook.result.current.state).toBe('value2');
});

it('should get default and set value for a given key', () => {
const hook = setUp({ key: 'key', defaultValue: 'defaultValue' });
expect(hook.result.current.state).toEqual('defaultValue');
expect(hook.result.current.state).toBe('defaultValue');
act(() => {
hook.result.current.setState('setValue');
});
expect(hook.result.current.state).toEqual('setValue');
expect(hook.result.current.state).toBe('setValue');
hook.rerender({ key: 'key' });
expect(hook.result.current.state).toEqual('setValue');
expect(hook.result.current.state).toBe('setValue');
});

it('should remove value for a given key', () => {
const hook = setUp({ key: 'key' });
act(() => {
hook.result.current.setState('value');
});
expect(hook.result.current.state).toEqual('value');
expect(hook.result.current.state).toBe('value');
act(() => {
hook.result.current.setState(undefined);
});
Expand Down
52 changes: 26 additions & 26 deletions packages/hooks/src/useAntdTable/__tests__/index.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -80,9 +80,9 @@ describe('useAntdTable', () => {
});

expect(hook.result.current.tableProps.loading).toBe(false);
expect(hook.result.current.tableProps.pagination.current).toEqual(1);
expect(hook.result.current.tableProps.pagination.pageSize).toEqual(10);
await waitFor(() => expect(hook.result.current.tableProps.pagination.total).toEqual(20));
expect(hook.result.current.tableProps.pagination.current).toBe(1);
expect(hook.result.current.tableProps.pagination.pageSize).toBe(10);
await waitFor(() => expect(hook.result.current.tableProps.pagination.total).toBe(20));
});

it('should defaultParams work', async () => {
Expand All @@ -104,11 +104,11 @@ describe('useAntdTable', () => {
});
const { search } = hook.result.current;
expect(hook.result.current.tableProps.loading).toBe(false);
await waitFor(() => expect(queryArgs.current).toEqual(2));
expect(queryArgs.pageSize).toEqual(10);
expect(queryArgs.name).toEqual('hello');
expect(queryArgs.phone).toEqual('123');
expect(search.type).toEqual('advance');
await waitFor(() => expect(queryArgs.current).toBe(2));
expect(queryArgs.pageSize).toBe(10);
expect(queryArgs.name).toBe('hello');
expect(queryArgs.phone).toBe('123');
expect(search.type).toBe('advance');
});

it('should stop the query when validate fields failed', async () => {
Expand All @@ -130,7 +130,7 @@ describe('useAntdTable', () => {
});

await sleep(1);
expect(queryArgs).toEqual(undefined);
expect(queryArgs).toBeUndefined();
});

it('should ready work', async () => {
Expand All @@ -153,7 +153,7 @@ describe('useAntdTable', () => {
});
});
await sleep(1);
expect(queryArgs).toEqual(undefined);
expect(queryArgs).toBeUndefined();

hook.rerender({
ready: true,
Expand All @@ -170,11 +170,11 @@ describe('useAntdTable', () => {

const { search } = hook.result.current;
expect(hook.result.current.tableProps.loading).toBe(false);
await waitFor(() => expect(queryArgs.current).toEqual(2));
expect(queryArgs.pageSize).toEqual(10);
expect(queryArgs.name).toEqual('hello');
expect(queryArgs.phone).toEqual('456');
expect(search.type).toEqual('advance');
await waitFor(() => expect(queryArgs.current).toBe(2));
expect(queryArgs.pageSize).toBe(10);
expect(queryArgs.name).toBe('hello');
expect(queryArgs.phone).toBe('456');
expect(search.type).toBe('advance');
});

it('should antd v3 work', async () => {
Expand Down Expand Up @@ -206,10 +206,10 @@ describe('useAntdTable', () => {
});
const { search } = hook.result.current;
expect(hook.result.current.tableProps.loading).toBe(false);
await waitFor(() => expect(queryArgs.current).toEqual(1));
expect(queryArgs.pageSize).toEqual(10);
expect(queryArgs.name).toEqual('default name');
expect(search.type).toEqual('simple');
await waitFor(() => expect(queryArgs.current).toBe(1));
expect(queryArgs.pageSize).toBe(10);
expect(queryArgs.name).toBe('default name');
expect(search.type).toBe('simple');

// /* 切换 分页 */
act(() => {
Expand All @@ -218,18 +218,18 @@ describe('useAntdTable', () => {
pageSize: 5,
});
});
await waitFor(() => expect(queryArgs.current).toEqual(2));
expect(queryArgs.pageSize).toEqual(5);
expect(queryArgs.name).toEqual('default name');
await waitFor(() => expect(queryArgs.current).toBe(2));
expect(queryArgs.pageSize).toBe(5);
expect(queryArgs.name).toBe('default name');

/* 改变 name, 提交表单 */
v3Form.fieldsValue.name = 'change name';
act(() => {
search.submit();
});
await waitFor(() => expect(queryArgs.current).toEqual(1));
expect(queryArgs.current).toEqual(1);
expect(queryArgs.pageSize).toEqual(5);
expect(queryArgs.name).toEqual('change name');
await waitFor(() => expect(queryArgs.current).toBe(1));
expect(queryArgs.current).toBe(1);
expect(queryArgs.pageSize).toBe(5);
expect(queryArgs.name).toBe('change name');
});
});
18 changes: 9 additions & 9 deletions packages/hooks/src/useClickAway/__tests__/index.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,19 +28,19 @@ describe('useClickAway', () => {

rerender(container);
container.click();
expect(state).toEqual(0);
expect(state).toBe(0);
document.body.click();
expect(state).toEqual(1);
expect(state).toBe(1);

rerender(container1);
container1.click();
expect(state).toEqual(1);
expect(state).toBe(1);
document.body.click();
expect(state).toEqual(2);
expect(state).toBe(2);

unmount();
document.body.click();
expect(state).toEqual(2);
expect(state).toBe(2);
});

it('should works on multiple target', async () => {
Expand All @@ -53,14 +53,14 @@ describe('useClickAway', () => {

rerender([container, container1]);
container.click();
expect(state).toEqual(0);
expect(state).toBe(0);
container1.click();
expect(state).toEqual(0);
expect(state).toBe(0);
document.body.click();
expect(state).toEqual(1);
expect(state).toBe(1);

unmount();
document.body.click();
expect(state).toEqual(1);
expect(state).toBe(1);
});
});
18 changes: 9 additions & 9 deletions packages/hooks/src/useControllableValue/__tests__/index.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@ describe('useControllableValue', () => {

it('defaultValue should work', () => {
const hook = setUp({ defaultValue: 1 });
expect(hook.result.current[0]).toEqual(1);
expect(hook.result.current[0]).toBe(1);
});

it('value should work', () => {
const hook = setUp({ defaultValue: 1, value: 2 });
expect(hook.result.current[0]).toEqual(2);
expect(hook.result.current[0]).toBe(2);
});

it('state should be undefined', () => {
Expand All @@ -30,12 +30,12 @@ describe('useControllableValue', () => {
},
};
const hook = setUp(props);
expect(hook.result.current[0]).toEqual(2);
expect(hook.result.current[0]).toBe(2);
act(() => {
hook.result.current[1](3, 'extraParam');
});
expect(props.value).toEqual(3);
expect(extraParam).toEqual('extraParam');
expect(props.value).toBe(3);
expect(extraParam).toBe('extraParam');
});

it('test on state update', () => {
Expand All @@ -45,10 +45,10 @@ describe('useControllableValue', () => {
const { result, rerender } = setUp(props);
props.value = 2;
rerender(props);
expect(result.current[0]).toEqual(2);
expect(result.current[0]).toBe(2);
props.value = 3;
rerender(props);
expect(result.current[0]).toEqual(3);
expect(result.current[0]).toBe(3);
});

it('test set state', async () => {
Expand All @@ -63,10 +63,10 @@ describe('useControllableValue', () => {
expect(result.current[0]).toBeNull();

act(() => setValue(55));
expect(result.current[0]).toEqual(55);
expect(result.current[0]).toBe(55);

act(() => setValue((prevState) => prevState + 1));
expect(result.current[0]).toEqual(56);
expect(result.current[0]).toBe(56);
});

it('type inference should work', async () => {
Expand Down
22 changes: 11 additions & 11 deletions packages/hooks/src/useCookieState/__tests__/index.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,36 +17,36 @@ describe('useCookieState', () => {
const hook = setUp(COOKIE_KEY, {
defaultValue: 'A',
});
expect(hook.result.current.state).toEqual('A');
expect(hook.result.current.state).toBe('A');
act(() => {
hook.result.current.setState('B');
});
expect(hook.result.current.state).toEqual('B');
expect(hook.result.current.state).toBe('B');
const anotherHook = setUp(COOKIE_KEY, {
defaultValue: 'A',
});
expect(anotherHook.result.current.state).toEqual('B');
expect(anotherHook.result.current.state).toBe('B');
act(() => {
anotherHook.result.current.setState('C');
});
expect(anotherHook.result.current.state).toEqual('C');
expect(hook.result.current.state).toEqual('B');
expect(anotherHook.result.current.state).toBe('C');
expect(hook.result.current.state).toBe('B');
});

it('should support undefined', () => {
const COOKIE_KEY = 'test-boolean-key-with-undefined';
const hook = setUp(COOKIE_KEY, {
defaultValue: 'undefined',
});
expect(hook.result.current.state).toEqual('undefined');
expect(hook.result.current.state).toBe('undefined');
act(() => {
hook.result.current.setState(undefined);
});
expect(hook.result.current.state).toEqual(undefined);
expect(hook.result.current.state).toBeUndefined();
const anotherHook = setUp(COOKIE_KEY, {
defaultValue: 'false',
});
expect(anotherHook.result.current.state).toEqual('false');
expect(anotherHook.result.current.state).toBe('false');
});

it('should support empty string', () => {
Expand All @@ -56,18 +56,18 @@ describe('useCookieState', () => {
const hook = setUp(COOKIE_KEY, {
defaultValue: 'hello',
});
expect(hook.result.current.state).toEqual('');
expect(hook.result.current.state).toBe('');
});

it('should support function updater', () => {
const COOKIE_KEY = 'test-func-updater';
const hook = setUp(COOKIE_KEY, {
defaultValue: () => 'hello world',
});
expect(hook.result.current.state).toEqual('hello world');
expect(hook.result.current.state).toBe('hello world');
act(() => {
hook.result.current.setState((state) => `${state}, zhangsan`);
});
expect(hook.result.current.state).toEqual('hello world, zhangsan');
expect(hook.result.current.state).toBe('hello world, zhangsan');
});
});
8 changes: 4 additions & 4 deletions packages/hooks/src/useCountDown/__tests__/index.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -56,14 +56,14 @@ describe('useCountDown', () => {
act(() => {
jest.advanceTimersByTime(4000);
});
expect(result.current[0]).toEqual(0);
expect(result.current[0]).toBe(0);
expect(result.current[1].seconds).toBe(0);

act(() => {
jest.advanceTimersByTime(1000);
});

expect(result.current[0]).toEqual(0);
expect(result.current[0]).toBe(0);
expect(result.current[1].seconds).toBe(0);
});

Expand Down Expand Up @@ -174,14 +174,14 @@ describe('useCountDown', () => {
act(() => {
jest.advanceTimersByTime(4000);
});
expect(result.current[0]).toEqual(0);
expect(result.current[0]).toBe(0);
expect(result.current[1].seconds).toBe(0);

act(() => {
jest.advanceTimersByTime(1000);
});

expect(result.current[0]).toEqual(0);
expect(result.current[0]).toBe(0);
expect(result.current[1].seconds).toBe(0);
});

Expand Down